Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#126 Le 26/06/2008, à 16:34

philpep-tlse

Re : Liste de Commandes/Fonctions utile sous VIM

Pour cet exemple :

ino <div> <div></div><esc>5hi

SI tu tape <div y'a rien qui apparait et quand tu met le dernier > t'as <div></div>

Moi j'aimerais juste que <div apparaisse aussi tongue


le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS

Hors ligne

#127 Le 26/06/2008, à 21:09

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

C'est parce que tu utilises :imap au lieu de :abbr
L'idéal, vu ce que tu veux taper, c'est les solutions comme celle de xmledit vont lire du curseur jusqu'à un '<' qui le précède. Pour ajouter ensuite: ></{truc-lu}> tout en positionnant le curseur à l'endroit qui va bien.

Exemple en version qui saccage un registre et une marque:

inoremap <buffer> > <space><esc>mz"zyT<`z"_xa><<c-r>z><esc>F<i

#128 Le 26/06/2008, à 21:14

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

Oups:

s/:abbr/iabbr/

Et j'ai oublié un '/' dans le mapping: juste avant le CTRL-R.

#129 Le 04/07/2008, à 13:23

geenux

Re : Liste de Commandes/Fonctions utile sous VIM

Une astuce qui serait pratique :  des fois, quand on code, il y a des lignes entières qui sont communes. Au lieu d'une complétition par mot, ça pourrait être bien d'avoir une complétition qui reprend la ligne entière.

Hors ligne

#130 Le 04/07/2008, à 17:04

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

:h i_CTRL-X_CTRL-L ?

#131 Le 04/07/2008, à 17:17

geenux

Re : Liste de Commandes/Fonctions utile sous VIM

Merci, c'est exactement ça que je voulais smile

Hors ligne

#132 Le 10/07/2008, à 18:56

Fabian Pijcke

Re : Liste de Commandes/Fonctions utile sous VIM

Bonjour,

very interresting topic, j'ai appris plein de trucs, merci à tous !

Moi aussi j'ai un petit rêve sous vim, je n'y croyais pas trop jusque hier, où j'ai croisé ce screenshot:

http://www.kde-apps.org/content/preview.php?preview=2&id=29153&file1=29153-1.jpg&file2=29153-2.jpg&file3=29153-3.png&name=Yakuake

Ma question est: comment démarrer un shell dans une fenêtre splittée de vim ? Comme c'est fait sur ce screenshot ?

J'ai longuement cherché mais sans résultat concluant ( sad ), donc j'espère que les quelques experts qui se balladent ici pourront m'aider tongue

Voili voilou, merci d'avoir lu, et n'y passez pas vos nuits, vous avez sans doute des trucs mieux à faire que chercher ce genre de trucs pour un geek comme moi big_smile Enfin si quelqu'un connaît l'astuce ... tongue

Bonne soirée !

#133 Le 10/07/2008, à 19:12

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

Moi je split un terminal avec screen (GNU screen wink)quand je veux ça, je met vim à un endroit et un terminal à l'autre, (screen est très pratique pour pas mal d'autre choses) par contre la version standard de screen ne permet que le split horizontal (mais le split vertical a été développé apparemment).

en gros je ne sais pas si c'est ça qu'il utilise ou autre chose, moi je connais que cette methode en tout cas...

edit: en regardant le screenshot de plus près on voit des petits points au milieu des barres, très probablement des poignées graphiques pour redimentionner, ce qui indiquerais que c'est yakuake (l'émulateur de terminal masquable sous kde) qui permet ça... donc si tu le prends tu auras en prime les onglets moches en dessous tongue

Dernière modification par tshirtman (Le 10/07/2008, à 19:23)

Hors ligne

#134 Le 10/07/2008, à 19:23

lolobu

Re : Liste de Commandes/Fonctions utile sous VIM

Ce qui est utilisé ici, c'est le terminal Yakuake (http://yakuake.uv.ro) qui peut être splité et ensuite, dans une des sections splité du terminal, il y a vim (et non pas gvim).

Dernière modification par lolobu (Le 10/07/2008, à 19:23)

Hors ligne

#135 Le 10/07/2008, à 19:29

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

Sinon, j'ai souvenir qu'il y a un plugin en python (je crois) pour vim qui permet d'apporter de l'interactivité -- c'est le seul moyen que je connaisse. Et encore, je ne l'ai jamais testé. Il faudra fouiller sur le site officiel, ou les ML, pour son nom.

#136 Le 10/07/2008, à 19:32

Fabian Pijcke

Re : Liste de Commandes/Fonctions utile sous VIM

Ah d'accord je comprends mieux, merci bien smile

Pas moyen donc de profiter des raccourcis vim ^W w et autres joyeusetés pour switcher vers le terminal tongue

Enfin la solution yakuake est pas mal malgrè tout, je connaissais mais je ne savais pas qu'il était possible de splitter la fenêtre ^^

Merci pour le tuyau, bonne continuation !

#137 Le 11/07/2008, à 12:20

scholi

Re : Liste de Commandes/Fonctions utile sous VIM

yakuake est super pratique pour avoir toujours un terminal sous la main (avec F12) et de pourvoir switcher rapidement entre le terminal et une autre fenêtre, mais pour l'édition avec vim, un bon Xterm reste ce qu'il y a de mieux je pense....


S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

Hors ligne

#138 Le 28/07/2008, à 21:46

Yannick_LM

Re : Liste de Commandes/Fonctions utile sous VIM

mais pour l'édition avec vim, un bon Xterm reste ce qu'il y a de mieux je pense....

(Moi j'aime bien vim en tty avec un framebuffer)
</hs>

Petite astuce que je ne connaissais pas :
Vous pouvez vous déplacer dans la ligne de commande de vim (celle qu'on obtient en tapant « : » en mode normal), avec CTRL+fleche, mot par mot.

J'ai pas trouvé de doc sur ce mode de fonctionnement. Si vous en avez, ça m'intéresse wink
EDIT: pour le coup, chez moi, ça ne marche qu'avec un XTerm tongue


Une autre astuce, en passant :

L'historique de commandes est vraiment très bien fait, aussi.

Vous pouvez appuyer sur la flèche du haut à n'importe quel moment, et vim vous complètera la ligne avec les commandes de l'historique qui commencent de la même façon que ce que vous avez déjà tapé

Exemple: si vous avez déjà tapé
:make
:copen
:make -j
:tabnew

après :ma, vous naviguez parmi les lignes commençant par :ma avec la flèche du haut.

(Il y a moyen de faire à peu près la même chose avec zsh, si vous savez comment faire, ça m'intéresse aussi)

Vous pouvez bien sûr faire ça après un sélection de ligne.
Exemple : deux paragraphes où il faut remplacer toto par titi.
(avec des toto un peu partout, à conserver)

Selection du premier parapgraphe:
vip

Commande sur la sélection:
:s/toto/titi/g

Entrée

Curseur sur le deuxième paragraphe:
vip

:s/ flèche haut, entrée wink

Dernière modification par Yannick_LM (Le 28/07/2008, à 21:59)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#139 Le 28/07/2008, à 23:32

Spalax

Re : Liste de Commandes/Fonctions utile sous VIM

En l'occurence, pour répéter exactement la dernière commande, il y a plus simple :
& applique à la ligne courante le dernier remplacement (une seule fois, pas sur toute la ligne)
. (point) répète la dernière commande

Hors ligne

#140 Le 29/07/2008, à 00:02

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

Yannick_LM: le mode Ex peut t'interresser, perso je m'en sert pas trop j'ai pas creusé cette partie de vim

:help Q

Hors ligne

#141 Le 29/07/2008, à 00:55

Luc Hermitte

Re : Liste de Commandes/Fonctions utile sous VIM

Yannick_LM a écrit :

Petite astuce que je ne connaissais pas :
Vous pouvez vous déplacer dans la ligne de commande de vim (celle qu'on obtient en tapant « : » en mode normal), avec CTRL+fleche, mot par mot.

J'ai pas trouvé de doc sur ce mode de fonctionnement. Si vous en avez, ça m'intéresse wink
EDIT: pour le coup, chez moi, ça ne marche qu'avec un XTerm tongue

:h <c-left> / <c-right> ?

Sinon, j'ai laissé tombé les terminaux (quand je peux) : trop d'effets de bords et autres bizarreries que je n'ai pas envie de chercher à configurer pour chaque terminal différent que j'utilise. Du coup, je lance systématiquement gvim.

Yannick_LM a écrit :

(Il y a moyen de faire à peu près la même chose avec zsh, si vous savez comment faire, ça m'intéresse aussi)

<esc>k en mode vi ?
(je ne suis pas un fana de ksh, ne pas m'en demander plus)

#142 Le 29/07/2008, à 04:46

pabix

Re : Liste de Commandes/Fonctions utile sous VIM

Un truc sympa :
:set wildmenu

Ensuite vous pouvez utiliser la touche tabulation lorsque vous tapez des commandes intégrées ou encore avoir un semblant de navigateur de fichier en tapant :e, :w, :r <TAB>


Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D

Hors ligne

#143 Le 29/07/2008, à 07:26

Yannick_LM

Re : Liste de Commandes/Fonctions utile sous VIM

<esc>k en mode vi ?

Cool , c'est ça que je cherchais wink

Sinon, pour les raccourcis de la ligne de commande sous Vim, tout est là :

:help cmdline


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#144 Le 12/08/2008, à 00:36

Yannick_LM

Re : Liste de Commandes/Fonctions utile sous VIM

Bon, allez, encore une.

Vous connaissez sûrement la touche CTR+R, qui en mode normal, permet de faire un «redo» après un «undo».

En mode insertion ou de commande, CTRL+R permet d'insérer le contenu des registres:

En plus des registres habituels (a,b, c ...), que vous pouvez utilisez avec : "ay, "ap,
vous avez / pour la dernière recherche effectué, + pour le contenu du presse-papier , * pour le clique mollette, etc ...

Plus d'infos avec :help c_CTRL-R et i_CTRL_R

(PS: si vous ne connaissez rien aux registres, renseignez-vous, c'est juste indispensable)

EDIT: vous pouvez aussi jouer avec les registres avec :let

Un exemple tout bête:
vous avez l'option hlsearch activé, pour colorier les résultats d'une recherche.
Vous appuyez accidentellement sur «*» au-dessus d'une accolade en C++
Comment vous débarrasser de la coloration de toutes les accolades ?

Méthode 1:
set nohlsearch : mais quand vous allez faire une nouvelle recherche, vous devrez taper à nouveau :set hlsearch

Méthode 2:
:let @/ = ""

Vous remettez le contenu du registre spécial « / », qui contient la dernière recherche effectué, à zéro wink
Vous pouvez bien sûr mapper cette commande comme bon vous semble


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#145 Le 12/08/2008, à 17:25

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

En encore plus fous avec undo-redo, y'as les branches, en fait vi garde trace de tous les présents alternatifs, on peut se balader entre avec g- et g+, si on fait un undo, et qu'on fait une modification après ça, ça permet de récupérer le changement annulé, en général je fait un copié collé du morceau qui m'intéressse, pour le "ramener" dans le présent qui m'intéresse... je trouve ce truc très "retour vers le futur" like big_smile.


(pis desfois ça dépanne vachement en cas de changement involontaire après un undo ^^).

:help undo-branches
pour tout savoir tongue

Hors ligne

#146 Le 12/08/2008, à 20:59

abetsic

Re : Liste de Commandes/Fonctions utile sous VIM

@Yannick_LM: Pour effacer ce qui est surligné dû à une recherche tu peux aussi taper le raccourci en mode commande ":nohl"

Hors ligne

#147 Le 12/08/2008, à 22:22

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

Moi je fais

/plpl

(introuvable)

en général, ça vas plus vite ^^ et rien à faire de spécial pour réactiver.

Hors ligne

#148 Le 15/08/2008, à 11:53

pabix

Re : Liste de Commandes/Fonctions utile sous VIM

tshirtman: En effet, ça va plus vite, mais :nohl ce n’est pas :set nohls, c’est juste valable une fois.

Les deux truc les plus utiles sous vim sont :
– La sélection par blocs rectangulaires
– Les macros, enregistables avec q, et répétables avec @.


Utilisateur du clavier BÉPO.
mortgat (()) gmail () com
GPG 0x377D716D

Hors ligne

#149 Le 15/08/2008, à 13:39

tshirtman

Re : Liste de Commandes/Fonctions utile sous VIM

ah merci j'avais pas noté la différence pour :nohl

sinon je plussois grandement, les sélection rectangulaire avec crl-v, j'en ais révé il y as des années en me disant que se serait ingérable et depuis que je connais dans vim je suis tout simplement heureux comme un gamin, c'est trop puissant...

et oui les macros s'trou bien smile

je fait aussi pas mal de traitement de masse avec
:%s/expression/replacement/g

bon c'est plus sed que vim, mais l'avoir dedans directement c'est un luxe apréciable...

Dernière modification par tshirtman (Le 15/08/2008, à 13:48)

Hors ligne

#150 Le 23/08/2008, à 10:57

scholi

Re : Liste de Commandes/Fonctions utile sous VIM

Je m'aperçoit que LA commande FONDAMENTALE de vim qui est le "." n'a jamais été introduite dans ce topic. La commande "." (en mode normal) permet de répeter la dernière commande effectuée.

Imaginez que vous faites une expression rationnel (regexp) pour rechercher une adresse IP [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
C'est un peu casse pied à taper et c'est la que la commande "." devient utile (encore plus rapide que le copy past).

1) Assurez-vous d'être en mode normal
2) passer en mode insertion (avec la commande a)  et entrer [0-9]{1,3}\.
3) revenez en mode normal et entrez "3." (sans guillemets)
4) Il vous reste plus qu'a effacer le \. de trop et c'est fini.

Dernière modification par scholi (Le 23/08/2008, à 11:00)


S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

Hors ligne