#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
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
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 ( ), donc j'espère que les quelques experts qui se balladent ici pourront m'aider
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 Enfin si quelqu'un connaît l'astuce ...
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 )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
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
Pas moyen donc de profiter des raccourcis vim ^W w et autres joyeusetés pour switcher vers le terminal
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
EDIT: pour le coup, chez moi, ça ne marche qu'avec un XTerm
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
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
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
EDIT: pour le coup, chez moi, ça ne marche qu'avec un XTerm
: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.
(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
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
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 .
(pis desfois ça dépanne vachement en cas de changement involontaire après un undo ^^).
:help undo-branches
pour tout savoir
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
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