Page suivante - Page précédente - Table des matières

10. Carte de référence ViM

10.1 États Vi

Vi a 3 modes :

  1. mode commande - État normal et initial ; les autres reviennent ici (utilisez ESC pour stopper une commande partiellement tapée).
  2. 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.
  3. 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 ».

10.2 Commandes Shell

  1. TERM= code Place le nom de code de votre terminal dans la variable TERM.
  2. export TERM Transporte la valeur de TERM (le code du terminal) vers tout programme UNIX dépendant du terminal.
  3. tput init Initialise le terminal pour qu'il fonctionne proprement avec divers programmes UNIX.
  4. vi fichier Accède à l'éditeur vi afin de pouvoir éditer le fichier spécifié.
  5. vi fichier1 fichier2 fichier3 Rentre trois fichiers dans le tampon vi à éditer. Ces fichiers sont fichier1, fichier2, et fichier3.
  6. view fichier Invoque l'éditeur vi sur le fichier en mode lecture.
  7. vi -R fichier Invoque l'éditeur vi sur le fichier en mode lecture.
  8. vi -r fichier Récupère le fichier et les éditions récentes après le crash du système.

10.3 Activer les options

  1. :set option Active l'option.
  2. :set option=valeur Assigne la value à l'option.
  3. :set no option Désactive l'option.
  4. :set Affiche les options activées par l'utilisateur.
  5. :set all Affiche la liste de toutes les options, à la fois les options par défaut et celles activées par l'utilisateur.
  6. :set option? Affiche les valeurs de l'option.

10.4 Notations utilisées

Notations :

  1. CTRL-c CTRL est la touche de contrôle : CTRL-c signifie « control c » ;
  2. CR est le retour chariot (touche Entrée).

10.5 Interrompre, annuler

  • 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é.

10.6 Manipulation de fichier

  • 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.

10.7 Mouvement

  • 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.

10.8 Positionnement en ligne

  • 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.

10.9 Positionnement des caractères

  • 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.

10.10 Mots, phrases, paragraphes

  • 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.

10.11 Marquage et retour

  • `` (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.

10.12 Corrections au cours de l'insertion

  • 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.

10.13 Ajuster l'écran

  • 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.

10.14 Effacer

  • 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.

10.15 Insérer, changer

  • 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.

10.16 Copier et coller

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.

10.17 Opérateurs (utiliser des doubles pour agir sur les lignes complètes)

  • 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.

10.18 Chercher et remplacer

  • /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.

10.19 Général

  • :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.

10.20 Commandes d'édition de ligne

  • : 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.

10.21 Autres commandes

  • 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.


Page suivante - Page précédente - Table des matières