Vim: de la survie à la création de plugins

Retour à la page Systèmes

Motivation

Vim est un éditeur de texte très déroutant quand on arrive du monde Windows, voire d'Emacs.
Sans être aussi précise qu'un tutoriel, cette page montre aux novices ce que peut faire l'éditeur, et elle rafraîchit la mémoire des "vétérans" rouillés.

Note: sauf exception, on écrira a pour une minuscule, A pour une majuscule. Les exceptions sont notamment C-, S-, ESC et RETURN

Les raccourcis clavier se justifient mieux en connaissant disposition originale du clavier utilisée par le développeur Bill Joy pour vi, l'ancètre de Vim.

!
1
"
2
#
3
$
4
%
5
&
6
'
7
(
8
)
9

0
*
:
=
-
{
[
}
]
Home
~
^
Esc
Q
W
E
R
T
Y
U
I
O
P
Line
Feed
Enter
Here
is
Ctrl
A
S
D
F
G
H
Left
J
Down
K
Up
L
Right
+
;
`
@
|
\
Rub
-
Break
Shift
W
X
C
V
B
N
M
<
,
>
.
?
/
Shift
Repeat
Clear
Space
 

Survie

Les "Modes" de vim

En fonction du mode courant, les appuis sur une touche n'auront pas le même résultat.

Pour les débutants absolus de Vim:

Manipulations élémentaires des fichiers

Fenêtres et onglets

Tabs et navigation:

Fenêtres

Folds (pliages)

Pour cacher/montrer des sections de texte, il est commode de "plier" (to fold en anglais) les lignes. Aide sur

Déplacements et marques

Fichiers et répertoires

Passer en mode insertion de texte:

Se déplacer dans le texte.

Ces commandes sont souvent combinées avec celles de copier/coller par exemple:

Opérer sur une zone limitée

Souvent on veut n'opérer que sur certaines portions de textes. Voici des exemples appliqués à la commande :s:

Recherche et remplacement

Rechercher du texte

Combinées avec les opérations sur une zone limitée, les commandes de recherche sont puissantes.

Edition de code

Sans atteindre la puissance d'un IDE, Vim dispose de raccourcis commodes pour la programmation, notamment en C et C++:

Passer d'un bloc à l'autre

Navigation entre tags

Les tags sont le moyen classique pour naviguer entre identifiants dans un projet informatique.
Vim comprend les fichiers produits par les programmes ctags ou etags.
Reste à lui dire comment les trouver.

Registres et copier-coller

Copier/Coller du texte:

Les commandes de copier/couper/coller peuvent toutes être précédées d'un nom de registre à utiliser, via la séquence "xx est à remplacer par le nom du registre à utiliser (défaut ").

Pour copier

Pour couper (et passer en mode insertion):

Pour couper (et rester en mode normal)

Pour coller

Compléments sur les registres:

Personnaliser Vim

Macros

La touche @ permet d'interpréter un registre comme une suite d'appuis de touches (une 'macro').

En plus d'enregistrer les macros, la touche q permet des manips utiles:

Clavier

A venir ...

Plugins

Les fonctions de base de Vim peuvent être étendues via des plugins, dont l'utilité apparaît notamment sur de gros projets de code.

Idées pour avoir Vim en IDE: voir Wikia.com.
Installation "perso":

Options

Bien connaître les options de Vim évite de se casser la tête à chercher des plugins ou à concocter des macros

Manipulations

Options quotidiennes

Autocompletion

Pour aller plus loin

Ajout et configuration des plugins: doc principalement en anglais

Edition en hexadécimal:

Avancé:

Dernière modification: 4 octobre 2015