Vim
Usages avancés
Gestion de l'historique
Vim possède une gestion assez fine de l'historique ce qui permet d'être performant lors de certaines tâches répétitves.
- u (Undo)
- Ctrl + r (Redo)
- . (Repeat the last action)
On note que l'action "Redo" n'est pas sur la touche "r" directement celle ci étant déjà dédiée au mode "Replace".
Recherche
- / (Search)
- ? (Reverse Search)
- * (Search the current word)
Pour l'ensemble de ces commandes, la touche n permet d'aller à l'occurence de recherche suivante (next) et la touche N perment d'aller à l'occurence précédente.
La touche Esc permettant de sortir du mode recherche.
Actions sur les lignes
De la même manière qu'un verbe peut s'appliquer sur un mot, les verbes peuvent aussi s'appliquer directement sur des lignes. Pour cela il suffit de doubler la touche du verbe en question.
- dd (Delete the curent line)
- yy (Yank the curent line)
- cc (Change the curent line)
- ...
On peut également réindenter la ligne courante avec la commande ==
Le mode insertion ne devant pas servir à insérer des sauts de ligne. La commande o (open) permet d'ouvrir une nouvelle ligne après la ligne courante.
Importance de la casse
Vim ayant énormement de commande, la case à une importance primordial. Voici quelques exemples :
- O Ouvrir une ligne avant la ligne courante
- P Coller avant le curseur
- I Insérer au début de la ligne courante
- A Insérer à la fin de la ligne courante
Split
Contrairement à d'autre éditeur, Vim permet de modifier deux (ou plus) fichiers simultanément. Pour cela Vim utilise des "split" qui vont découper chaque fichier en plusieurs fenêtres au sein de Vim.
- :split pour créer un split horizontal
- :vsplit pour créer un split vertical
- Ctrl + w pour naviguer récursivement entre les fenêtres
Autocompletion
Comme la plupart des éditeurs récents, Vim possède une fonction d'autocompletion. Vim ne travaillant qu'avec des regexp, cette autocompletion n'est que de l'autocompletion par syntaxe et non contextuelle.
- Ctrl + n Autocompletion basique
- Ctrl + x → Ctrl + KEY Autocompletion étendue avec plusieurs sous modes comme autocompletion de lignes etc
Certain plugins arrive tout de fois à avoir une autocompletion plus poussée.