Gestion
- i : passe en mode insertion
- a : passe en mode insertion après le curseur
- A : passe en mode insertion à la fin de la ligne
- :q : Ferme le fichier courant
- :qa : Ferme tous les fichiers (ferme Vi)
- :q! : quitte avec forçage si fichier non enregistré
- :w : Enregistre le fichier
- :wq ‘‘ou’’ :x : Enregistre et quitte
- :w
: enregistre le fichier sous un autre nom - :!
: exécute la commande externe cmd - :help : affiche l’aide
- v : Active le mode visuel. Permet de sélectionner plusieurs lignes (le texte sélectionné est surligné). La sélection s’effectue en déplaçant le curseur
- Une fois en mode visuel, on peut sauvegarder la sélection avec la commande ‘:w filename’ (même si une ligne est partiellement sélectionnée, elle sera enregistrée en entier)
- :%!xxd : Ouvre le fichier en mode hexadécimal
- :%!xxd -r : Retourne le fichier en mode texte (nécessaire avant de sauvegarder le fichier)
NOTE: Lorsqu’on est en train de taper une commande:
- TAB : autocompletion
- CTRL+D : affiche la liste des commandes qui commencent par ce qui a déjà été tapé
Déplacement
- :n : Saute directement à la ligne n
- h : gauche
- j : bas
- k : haut
- l : droite
- 0 : début de ligne
- $ : fin de ligne
- w : début de mot suivant
- e : fin de mot
- G : fin de fichier
- gg : début de fichier
- n <commande> : répète la commande n fois. Exemple: 3w: déplace de 3 mots, 4k: descend de 4 lignes, etc.
Edition
- dw : Efface depuis le curseur jusqu’au début du mot suivant
- de : Efface depuis le curseur jusqu’à la fin du mot
- dd : efface la ligne
- d$ : efface depuis le curseur jusqu’à la fin de la ligne
- x : supprimer le caractère sous le curseur
- r : remplace le caractère sous le curseur
- R : remplace tous les caractères jusqu’à appui sur ECHAP
- ce : Efface depuis le curseur jusqu’à la fin du mot et se place immédiatement en mode édition
- c$ : Efface depuis le curseur jusqu’à la fin de la ligne et se place immédiatement en mode édition
- o : insère une ligne SOUS la ligne courante et se place immédiatement en mode édition
- O : insère une ligne AU DESSUS de la ligne courante et se place immédiatement en mode édition
- :r filename : Insère le contenu du fichier indiqué sous la ligne courante
- :r !cmd : Insère le résultat de la commande sous la ligne courante
NOTE: Ndw ou dNw efface N mots. Idem pour de, dd, etc.
Exemple: 3dd: efface 3 lignes (idem d3d)
Copier/Coller
- dd : couper la ligne (idem que pour effacer la ligne)
- p : coller (paste) sous le ligne du curseur
- y : copier la sélection (réalisée en mode visuel)
- yy : copier la ligne courante
Rechercher / Remplacer
- /pattern puis Enter : recherche le pattern dans le fichier
- /pattern\c : recherche le pattern sans tenir compte de la casse
- n : recherche l’occurrence suivante
- % : recherche la parenthèse associée (fonctionne aussi pour les crochets et les accolades)
- :s/old/new : remplace la chaine old par la chaine new. Applicable pour la 1ère occurrence de la ligne courante
- :s/old/new/g : remplace toutes les occurrences de la ligne courante
- :#1:#2s/old/new/g : Remplace toutes les occurrences pour les lignes #1 à #2
- :%s/old/new/g : Remplace toutes les occurrences de tout le fichier
- :%s/old/new/gc : Remplace toutes les occurrences de tout le fichier mais avec demande de confirmation à chaque remplacement
Options
- :set ic : Ignore case (option active pour toutes le recherches)
- :set hls : Highlight search: Surligne toutes les occurrences trouvées
- :set is : Incremental search : Surligne la prochaine occurrence trouvée au fur et à mesure de la saisie du pattern à rechercher
NOTES
- pour supprimer une option taper
:set no<option> - On peut cumuler les options pour en activer plusieurs à la fois
:set \<option1\> \<option2\>
Annuler
- u : Annuler la dernière action
- U : Annule tous les changements effectués sur la ligne courante
- CTRL+R : Rétablit les dernières annulations
Options
Les options suivantes peuvent être tapées directement dans Vim (précédées du symbole :). Elles auront alors un effet temporaires dans la session courante. Pour un effet permanent, il faut saisir toutes ces commandes dans le fichier ~/.vimrc.
- set tabstop=4 (ou set ts=4) : Une tabulation équivaut à 4 espaces
- set shiftwidth=4
- set expandtab : Des espaces sont insérés à la place d’une tabulation
- set smarttab
- set autoindent (set ai)