Vi a 3 modes :
- mode commande - État normal et initial ; les autres
reviennent ici (utilisez ESC pour stopper une commande partiellement
tapée).
- mode d'entrée - Atteint par différentes commandes
a i A I o O c C s S R et terminé par ESC ou anomalement par
interruption.
- mode ligne - C-à-d attendant une entrée après une
commande : , / , ? ou un ! (terminé par
CR, stoppé par CTRL-c). CTRL est la touche de
contrôle : CTRL-c signifie « control c ».
- TERM= code Place le nom de code de votre terminal
dans la variable TERM.
- export TERM Transporte la valeur de TERM (le code du
terminal) vers tout programme UNIX dépendant du terminal.
- tput init Initialise le terminal pour qu'il fonctionne
proprement avec divers programmes UNIX.
- vi fichier Accède à l'éditeur vi afin de
pouvoir éditer le fichier spécifié.
- vi fichier1 fichier2 fichier3 Rentre trois fichiers
dans le tampon vi à éditer. Ces fichiers sont fichier1,
fichier2, et fichier3.
- view fichier Invoque l'éditeur vi sur le
fichier en mode lecture.
- vi -R fichier Invoque l'éditeur vi sur le
fichier en mode lecture.
- vi -r fichier Récupère le fichier et les
éditions récentes après le crash du système.
- :set option Active l'option.
- :set option=valeur Assigne la value à l'option.
- :set no option Désactive l'option.
- :set Affiche les options activées par l'utilisateur.
- :set all Affiche la liste de toutes les options, à la fois les options par défaut et celles activées par l'utilisateur.
- :set option? Affiche les valeurs de l'option.
Notations :
- CTRL-c CTRL est la touche de contrôle : CTRL-c signifie « control c » ;
- CR est le retour chariot (touche Entrée).
- ESC Arrête l'insertion ou une commande incomplète ;
- CTRL-? CTRL est la touche de contrôle : CTRL-? signifie « control ? » supprime ou interrompt des interruptions ;
- CTRL-l réaffiche/rafraîchit l'écran si ctrl-? l'a malmené.
- ZZ Sauve le fichier et sort de vi.
- :wq Sauve le fichier et sort de vi.
- :w Écrit le fichier courant.
- :w! Force l'écriture du fichier courant, si le fichier est en lecture seule.
- :wnom Écrit dans le fichier nom.
- :q Sort de vi.
- :q! Force la sortie de vi (annule les changements).
- :e name Édite le fichier nom.
- :e! Réédite, en annulant les changements.
- :e + name Édite le fichier nom, en partant de la fin.
- :e + n Édite en partant de la ligne n.
- :e # Édite un fichier alternatif.
- :n Édite le fichier suivant de la liste des
arguments.
- :args Liste les fichiers de la liste actuelle.
- :rew Rembobine la liste des fichiers et édite le premier.
- :n args Spécifie une nouvelle liste des arguments.
- :f Affiche le fichier actuel et la ligne.
- CTRL-G Synonyme de :f, affiche le fichier actuel et la ligne.
- :ta tag Pour marquer l'entrée du fichier par tag.
- CTRL-] :ta, le mot suivant est tag.
- Flèches Déplace le curseur.
- CTRL-d Descend d'une demi-page.
- CTRL-u Monte d'une demi page.
- CTRL-f Descend d'une page entière.
- CTRL-b Monte d'une page entière.
- :0 Déplacement au début du fichier.
- :n Déplacement à la ligne numéro n.
- :$ Déplacement à la fin du fichier.
- 0 Déplacement au début de la ligne.
- ^ Déplacement au premier caractère non-blanc.
- $ Déplacement au début de la ligne.
- CR Déplacement au début de la ligne suivante.
- - Déplacement au début de la ligne précédente.
- % Trouve le crochet correspondant.
- G Va à la ligne (défaut à la dernière ligne).
- ]] section/fonction suivante.
- [[ section/fonction précédente.
- H Première ligne de l'écran.
- L Dernière ligne de l'écran.
- M Ligne du milieu de l'écran.
- + Ligne suivante, sur le premier non-blanc.
- - Ligne précédente, sur le premier non-blanc.
- CR Entrée, pareil que +.
- j Ligne suivante, même colonne.
- k Ligne précédente, même colonne.
- 0 Début de la ligne.
- $ Fin de la ligne.
- h Avance.
- l Recule.
- SPACE Pareil que l.
- fx Trouve x en avant.
- Fx Trouve x en arrière.
- ; Répète le dernier f F.
- , Inverse de ; .
- | Vers la colonne spécifiée.
- % Trouve le { ou } correspondant.
- w Mot en avant.
- b Mot en arrière.
- e Fin du mot.
- ) Phrase suivante.
- ( Phrase précédente.
- } Paragraphe suivant.
- { Paragraphe précédent.
- W Mot délimité par du blanc.
- B Retour d'un mot blanc.
- E Fin d'un mot blanc.
- `` (taper deux fois la touche `) Contexte précédent.
- '' (taper deux fois la touche ') Contexte précédent au premier non-blanc de la ligne.
- mx Marque la position avec la lettre x.
- `x (touche ` et lettre x) Va à la marque x.
- 'x Va à la marque x au premier non-blanc de la ligne.
- CTRL-h Efface le dernier caractère.
- CTRL-w Efface le dernier mot.
- erase Taper la touche DELETE, pareil que CTRL-h.
- kill Votre touche kill, efface l'entrée de la ligne.
- \ Échappement de CTRL-h, efface et kill.
- ESC Stoppe l'insertion, retourne en commande.
- CTRL-? Interrompt, termine l'insertion.
- CTRL-d Retour de tabulation sur un autoindent.
- CTRL-v Affiche un caractère non affichable.
- CTRL-l Efface et redessine.
- CTRL-r Redessine, élimine les lignes @.
- z-CR Redessine avec la ligne courante en haut.
- z- Redessine, avec la ligne courante au bas de la fenêtre.
- z. Redessine, avec la ligne courante au centre de la fenêtre.
- /pat/z- Ligne contenant pat en bas.
- tn Utilise une fenêtre de n lignes.
- CTRL-e Descend la fenêtre d'une ligne.
- CTRL-y Remonte la fenêtre d'une ligne.
- x Efface le caractère sous le curseur.
- X Efface le caractère avant le curseur.
- D Efface jusqu'à la fin de la ligne.
- d^ Efface jusqu'au début de la ligne.
- dd Efface la ligne.
- ndd Efface n lignes en commençant à la ligne
actuelle.
- dnw Efface n mots en partant du curseur.
- i Passe en mode d'insertion avant le curseur.
- I Passe en mode d'insertion avant le premier caractère non-blanc.
- a Passe en mode d'insertion après le curseur.
- A Passe en mode d'insertion après la fin de la ligne.
- o Ouvre une nouvelle ligne en dessous de la ligne courante et passe en mode d'insertion.
- O Ouvre une nouvelle ligne au dessus de la ligne courante et passe en mode d'insertion.
- r Remplace le caractère en dessous du curseur (ne passe PAS en mode d'insertion).
- R Entre en mode d'insertion en remplaçant les caractères.
- C shift-c. Change le reste de la ligne.
- D shift-d. Efface le reste de la ligne.
- s Substitue des caractères.
- S Substitue des lignes.
- J Joint les lignes.
Le tampon de copie est rempli par TOUTE commande d'effacement, ou explicitement par Y et yy.
- Y Copie la ligne courante dans le tampon.
- nyy Copie n lignes en partant de la ligne actuelle dans le tampon.
- p Colle le tampon après le curseur (ou sous la ligne
actuelle).
- P Colle le tampon avant le curseur (ou avant la ligne actuelle).
- "xp Colle à partir du buffer x.
- "xy Copie dans le tampon x.
- "xd Efface dans le tampon x.
- d Effacer.
- c Changer.
- < Déplacement gauche.
- > Déplacement droit.
- ! Filtrer au travers de la commande.
- = Indenter pour LISP.
- y Copier le texte dans le tampon.
- /texte Cherche en avant pour texte.
- ?texte Cherche en arrière pour texte.
- n Répète la dernière recherche dans la même direction.
- N Répète la dernière recherche dans la direction inverse.
- / Répète la dernière recherche en avant.
- ? Répète la dernière recherche en arrière.
- [ addr ] s/from/to/ [ g ] Cherche une occurence de from et remplace par to dans la ligne actuelle, ou dans le bloc.
addr (deux numéros de lignes séparés par une commande ; 1,$ est le fichier entier) remplace une occurence par ligne, ou toutes les occurences si g est spécifié.
Par exemple, :3,20s/unmot/unautre/g remplacera "unmot" par "unautre" de la ligne 3 à la ligne 20. 'g' est global et signifie que toutes les occurences de "unmot" seront remplacées.
- :sh Donne un shell (à quitter avec CTRL-d).
- :!commande Lance un shell pour exécuter commande.
- :set number Active la numérotation des lignes.
- :set nonumber Désactive la numérotation des lignes.
- : Prévient vi que les prochaines commandes seront des commandes pour l'éditeur de ligne.
- :sh Retourne temporairement au shell pour exécuter quelques commandes shell sans quitter vi.
- CTRL-d Sort du shell temporaire et retourne sous vi afin de pouvoir éditer la fenêtre actuelle.
- :n Va à la nème ligne du tampon.
- :x,zw fichier Écrit les lignes x à z dans un nouveau fichier appellé fichier.
- :$ Déplace le curseur au début de la dernière ligne du tampon.
- :.,$d Efface toutes les lignes de la ligne actuelle à la dernière ligne.
- :r fichier Insère le contenu du fichier fichier sous la ligne actuelle du tampon.
- :s/texte/autre_texte/ Remplace la première apparition de texte sur la ligne actuelle par autre_texte.
- :s/texte/autre_texte/g Remplace toutes les apparitions de texte sur la ligne actuelle par autre_texte.
- :g/texte/s//autre_texte/g Change toutes les apparitions de texte dans le tampon par autre_texte.
- u Annule le dernier changement.
- U Restaure la ligne actuelle.
- ~ Change la casse.
- J Joint la ligne actuelle et la ligne suivante.
- . Répète la dernière commande de changement de texte.
- CTRL-g Montre le nom du fichier et le nombre de lignes.