Pour lancer l’éditeur, il suffit de taper vim
dans un terminal. Contrairement aux éditeurs de texte habituels, vim
dispose de 4 modes de fonctionnement: le mode interactif, le mode insertion, le mode visuel et le mode commande:
vim
ou quand vous êtes dans un autre mode et que vous appuyez sur la touche ESC
. Dans ce mode, vous pouvez faire des opérations de déplacement dans un fichier, de copier-coller, de suppression de texte, de remplacement de texte…v
.i
pour passer en mode insertion.vim
ou des commandes systèmes. À partir du mode interactif, il faut appuyer sur la touche :
puis taper la commande que vous voulez exécuter.vim
dans un terminali
pour passer en mode insertionC
minimalESC
(pour quitter le mode insertion) puis taper :w test.c
pour sauvegarder ce que vous avez écrit (:
permet de passer en mode commande, w
est la commande de sauvegarde / write et test.c
est le nom du fichier)h
(gauche), j
(bas), k
(haut), l
(droite). Vous pouvez également utiliser les flèches du clavier.vim
, il suffit de taper :q
ou :q!
si vous voulez forcer la fermeture (par défaut vim
ne se termine pas s’il y a des modifications non enregistrées).Il est possible de sauvegarder puis de quitter avec la commande
:wq
Outre les touches h
, j
, k
, l
, d’autres sont utiles comme par exemple:
0
qui permet de revenir automatiquement en début de la ligne courante$
qui permet de revenir automatiquement en fin de la ligne courantegg
qui permet de revenir à la première ligneG
qui permet de revenir à la dernière lignexG
ou x
est un nombre permet d’aller à la ligne x
x
ou yx
où y
est le nombre de caractères à supprimerdd
ou xdd
où x
est le nombre de ligne à supprimerdw
(delete word) ou xdw
où x
est le nombre de mot à supprimerd0
d$
yy
pour copier une ligne, yw
pour copier un mot, y0
pour copier…p
ou xp
où x
est le nombre de fois à copier. Attention la copie se fait immédiatement après où se fait le curseur, il n’y a pas de retour à la ligne.rs
ou s
est la nouvelle lettre à insérer.:s/ancien/nouveau
qui remplace la première occurrence d’ancien
par nouveau
, des variantes existent:
:s/ancien/nouveau/g
: remplace toutes les occurrences de la ligne où se trouve le curseur:#,#s/ancien/nouveau/g
: remplace toutes les occurrences dans les lignes n° # à # du fichier:%s/ancien/nouveau/g
: remplace toutes les occurrences dans tout le fichieru
ou xu
où x
est le nombre de fois où il faut revenir en arrière/mot
. Pour aller à l’occurrence suivante, taper n
ou N
pour l’occurence précédente?mot
, le reste est identique:!
comme par exemple :!ls
pour afficher le contenu du répertoire courantvim
il suffit de taper :e nom_fichier
pour ouvrir le fichier qui se nomme nom_fichier
. Vous pouvez ensuite naviguer entre fichiers avec :e #x
où x
désigne le numéro de fichier.Il existe plein d’options dans vim
qui permettent de rendre son utilisation plus agréable (coloration syntaxique, numéro de ligne, alias…). En voici quelques unes que vous pouvez écrire dans une fichier .vimrc
que vous mettrez à la racine de votre répertoire personnel (ça vous éviter d’activer les options à chaque ouverture).
set nocp
desactive le mode compatibilitésyn on
active la coloration syntaxiqueset syntax =on
active la coloration syntaxiquefiletype indent plugin on
indentation suivant le type de fichierset nu
affiche le numéro de ligneset showmatch
affiche les accolades / parenthèses manquantesset tabstop =4
taille en espaces des tabulationset shiftwidth =4
taille en espaces des tabulationset softtabstop =4
taille en espaces des tabulationset expandtab
transforme les tabulations en espaceset cursorline
met en évidence la ligne où se trouve le curseuriab #i #include
exemple d’alias, il suffit maintenant de taper #i
puis tabulation pour que cela soit remplacé par #include