Étant donné que Vim se concentre autant sur la modification du code existant que sur l'écriture d'un nouveau code, il est divisé en plusieurs modes qui ont chacun des objectifs différents.
Mode normal
Par défaut, Vim démarre en mode «normal». Le mode normal est accessible à partir d'autres modes en appuyant sur Esc
ou .
En mode normal, les pressions sur les touches ne fonctionnent pas comme prévu. Autrement dit, ils n'insèrent pas de texte dans le document; au lieu de cela, certaines touches peuvent:
Déplacez le curseur
- h déplacer un caractère vers la gauche
- j déplacer d'une ligne vers le bas
- k déplacer d'une ligne vers le haut
- Je déplace un personnage vers la droite
Comme de nombreuses commandes vim, le mouvement des lignes peut être préfixé par un nombre pour déplacer plusieurs lignes à la fois:
- 4j déplacer 4 rangs vers le bas
- 6k déplacer de 6 lignes vers le haut
Mouvements de mots de base:
- w passer au début du mot suivant
- b passer au début du mot précédent
- e passer àfin du mot
- W passer au début du mot suivant après un espace
- B passer au début du mot précédent avant un espace
- E se déplace à la fin du mot avant un espace
Mouvement de début / fin de ligne:
- 0 aller au début de la ligne
- $ passer à la fin de la ligne
Manipuler du texte
Entrez dans d'autres modes
Le mode normal est l'endroit où l'on devrait passer la plupart de son temps à utiliser Vim. Rappelez-vous, c'est ce qui rend Vim différent.
En mode normal, il existe plusieurs façons de se déplacer dans un fichier ouvert. En plus d'utiliser les touches de curseur pour vous déplacer, vous pouvez également utiliser h
(gauche), j
(bas), k
(haut) et l
(droite) pour vous déplacer. Cela aide particulièrement les dactylographes qui n'aiment pas quitter la ligne d'accueil lorsqu'ils apportent des modifications.
Vous pouvez également apporter des modifications à des caractères uniques en mode normal. Par exemple, pour remplacer un seul caractère, déplacez votre curseur dessus et appuyez sur r
, puis sur le caractère par lequel vous souhaitez le remplacer. De même, vous pouvez supprimer des caractères uniques en déplaçant votre curseur dessus et en appuyant sur x
.
Pour effectuer une annulation, appuyez sur u
en mode normal. Cela annule les modifications jusqu'à la dernière fois que vous étiez en mode normal. Si vous souhaitez refaire ( c'est-à - dire annuler votre annulation), appuyez sur Ctrl+r
en mode normal.
Mode d'insertion
C'est le deuxième mode le plus utilisé et ce sera le comportement le plus familier à la plupart des gens. Une fois en mode insertion, la saisie insère des caractères comme un éditeur de texte classique. Vous pouvez le saisir en utilisant une commande d'insertion depuis le mode normal.
Les commandes d'insertion comprennent:
i
pour ' i nsert', cela fait immédiatement passer vim en mode insertiona
pour ' a ppend', cela déplace le curseur après le caractère courant et entre en mode insertiono
insère une nouvelle ligne sous la ligne courante et entre en mode insertion sur la nouvelle ligne
Ces commandes ont également une variété en majuscules:
I
déplace le curseur au début de la ligne et passe en mode insertionA
déplace le curseur à la fin de la ligne et passe en mode insertionO
insère une nouvelle ligne au-dessus de la ligne actuelle et entre en mode insertion sur la nouvelle ligne
Il y a tellement plus de façons d'insérer du texte dans Vim qui ne peuvent pas être répertoriées ici, mais ce sont les plus simples. Attention également à ne pas rester en mode insertion trop longtemps; Vim n'est pas conçu pour être utilisé en mode insertion tout le temps.
Pour quitter le mode insertion et revenir au mode normal, appuyez sur Esc
ou
Mode visuel
Le mode visuel est utilisé pour effectuer des sélections de texte, de la même manière que le fait de cliquer et de faire glisser avec une souris se comporte. La sélection de texte permet aux commandes de s'appliquer uniquement à la sélection, telles que la copie, la suppression, le remplacement, etc.
Pour faire une sélection de texte:
- Appuyez
v
pour entrer en mode visuel, cela marquera également un point de sélection de départ - Déplacez le curseur sur le point de sélection final souhaité; vim fournira une mise en évidence visuelle de la sélection de texte
Le mode visuel a également les variantes suivantes:
V
pour entrer en mode ligne visuelle, cela fera des sélections de texte par lignepour entrer en mode bloc visuel, cela fera des sélections de texte par blocs; déplacer le curseur fera des sélections de rectangle du texte
Pour quitter le mode visuel et revenir au mode normal, appuyez sur Esc
ou .
Le mode visuel a en fait plusieurs sous-types: visuel , bloc-visuel et linewise-visuel
- visuel : comme décrit ci-dessus. Entrez en appuyant sur
v
- block-visual : sélectionnez une région rectangulaire. Entrez en appuyant sur
+v
- linewise-visual : sélectionnez toujours des lignes complètes. Entrez en appuyant sur
+v
Mode de commande
Le mode commande a une grande variété de commandes et peut faire des choses que le mode normal ne peut pas faire aussi facilement. Pour entrer en mode commande, tapez «:» à partir du mode normal, puis tapez votre commande qui devrait apparaître au bas de la fenêtre. Par exemple, pour faire un type de recherche et de remplacement global :%s/foo/bar/g
pour remplacer tout «foo» par «bar»
:
Entre en mode commande%
Moyens sur toutes les ligness
Moyens substitut/foo
est regex pour trouver des choses à remplacer/bar/
est regex pour remplacer les choses par/g
signifie global, sinon il ne s'exécuterait qu'une fois par ligne
Vim propose un certain nombre d'autres méthodes que vous pouvez consulter dans la documentation d'aide, :h
ou :help
.
Remplacer le mode
Le mode Remplacer vous permet de remplacer le texte existant en tapant directement dessus. Avant d'entrer dans ce mode, passez en mode normal et placez votre curseur au dessus du premier caractère que vous souhaitez remplacer. Appuyez ensuite sur «R» (R majuscule) pour passer en mode de remplacement. Maintenant, tout ce que vous tapez remplacera le texte existant. Le curseur se déplace automatiquement sur le caractère suivant comme en mode insertion. La seule différence est que chaque caractère que vous saisissez remplacera le caractère existant.