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 :
:%!sort
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 :
:10,37!sort
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…