Différences
Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
— |
outils:vim:astuces:shell [2006/10/26 16:05] (Version actuelle) kwisatz |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Utiliser des commandes externes ====== | ||
+ | VIM sait faire beaucoup de choses mais pas tout. En particulier, il n'y a pas, par exemple, de possibilité de trier des lignes. Une commande Unix existe pour cela, c'est ''sort''. | ||
+ | |||
+ | Donc, si on veut trier les lignes d'un fichier sans devoir sortir de VIM, faire le sort et rééditer avec VIM, on peut simplement utiliser : | ||
+ | |||
+ | <code> | ||
+ | :%!sort | ||
+ | </code> | ||
+ | |||
+ | dans VIM. Et le tour est joué ! | ||
+ | |||
+ | On notera que le ''%'' dans l'expression ci-dessus désigne un rang. En l'occurrence, le ''%'' équivaut à "tout le fichier", mais si on ne veut trier que de la ligne 10 à la ligne 37, on pourra écrire : | ||
+ | |||
+ | <code> | ||
+ | :10,37!sort | ||
+ | </code> | ||
+ | |||
+ | Une des énormes fonctionnalités supplémentaires vim sur vi est le mode "visuel" (activé avec v, V, ou ^V). | ||
+ | |||
+ | Si le mode visuel est actif (ie. si un bloc est sélectionné), lors de l'entrée en mode commande (avec la touche deux-points), la commande est automatiquement préfixée par '<,'>. La commande ne sera ainsi exécutée que sur les lignes sélectionnées (attention lors de la sélection en mode bloc avec ^V, la commande est exécutée sur les lignes _entières_). | ||
+ | |||
+ | Bien d'autres spécifications de rang existent (référence à la ligne courante, à des marques, au début/à la fin des fichiers) mais cela fait partie d'une autre section qui reste à écrire... |
outils/vim/astuces/shell.txt · Dernière modification: 2006/10/26 16:05 par kwisatz