La commande Vi


Vous êtes ici : HomePage >> Debian >> Les commandes >> La comande vi

La commande vi appelle un editeur de texte très puissant permettant de compiler directement dans l'éditeur. Son petit frère vim souvant confondu avec vi développé par GNU à la même fonction. Vi et vim utilisent le(s) même fichier(s) de configuration(s) / paramétrage(s) : vimrc, vimrc.local. Vi est installé par défaut, sur les distributions Debian. Index de la page

  • Installation de vim
    • apt-get update
    • apt-get install vim

HAUT

  • Paramètrage de vi et de vim
    Vi et vim utlisent les mêmes fichiers de paramètrages :vimrc et vimrc.local
    • Ces fichiers permettent de mettre de la couleur, l'indentation,...
    • Le chemin de ces fichiers se trouvent dans le répertoire /etc/vim
    • Télécharger ici les 2 fichiers :
    • Depuis la version sarge de Debian la configuration générale se positionne dans le répertoire : "/etc/vim/"
      • vim.tar.gz dans ce fichier compressé se trouve ma configuration de vi / vim avec mes propre template (pour bash / php), navigation entre les différentes 'tabe' des fichiers ouvert avec les touches "ctrl" + "les flèches"
    • Avant & après en images :
      • Avant :

  • Après :

HAUT

  • Commande : utilisation
    1. Ajout :
      A : ajouter du texte à la fin de la ligne
      a : ajouter du texte après le curseur
      i : insérer du texte avant le curseur
      o ou O : Créer une ligne vièrge sous / au dessus du curseur
    2. Suppression :
      ns : supprime n caractères et passe en mode inserssion
      ndd : supprime n lignes à partir de la ligne courante
      nx : supprime n caractères à partir du caractère courant
      ndw ou ndb : supprime les n mots suivants ou précédents, à partir du mot suivant
      d/ : supprime tout depuis le curseur jusqu'à la première occurrence de (suite de lettre tappées au clavier)
      :g/^$/d : supprime toutes les lignes vides
    3. Remplacement :
      R : remplacer le texte à partir du curseur
      r : remplacer le caractère sous le curseur par la lettre tappée au clavier
    4. Chercher / remplacer / copier :
      / : recherche les caractères tapés au clavier
      /^ : recherche la prochaine ligne qui commence avec les caractères tapés au clavier
      n : renouvelle la recherche précédente (équivaut au F3 de windobe)
      nyy ou nY : copie n lignes (yy copie la ligne courante) dans le buffer
      y/ : copie depuis le caractère courant, jusqu'avant les caractères tapés au clavier dans le buffer
      ynw : copie n mots à partir du mot, dans le buffer (yw copie le mot courant)
      p ou P : colle le contenu du buffer après / avant le curseur (ou avant ou après la ligne courant si des lignes ont été copièes)
      : x, ys/s1/s2/opt : recherche entre les lignes x et y (optionnel) la chaîne s1 et la remplace par la chaîne s2 (pour remplacer chaque occurrence, utiliser l'option g). Remarque : s1 et s2 sont en fait des regexp (expressions régulières), permettant d'écrire un masque générique, mais c'est un autre sujet... Je vous conseille de taper :help :s et :help regexp dans votre vi favori... :
      ex :
      • :%s/toto/titi/g => remplace tous les 'toto' par 'titi'
      • :1,$s/t[o,i]to/tata/ => remplace 'toto' ou 'tito' par 'tata'
    5. Tableau aide mémoire
RaccourciFonctionRaccourciFonction
 Déplacement Déplacement
ggAller au début du fichierGAller à la fin du fichier
0Aller en début de ligne$Aller en fin de ligne
hDéplacement d'un caractère à gauchelDéplacement d'un caractère à droite
kDéplacement d'un caractère en hautjDéplacement d'un caractère en bas
wDéplacement au mot suivantbRecule d'un mot
eDéplacement jusqu'à la fin du motfxAvance jusqu'au prochain caractère "x"
FxRecule jusqu'au caractère "x" précédenttxDéplacement juste avant le prochain caractère "x"
TxRecule juste après le caractère "x" précédent  
ngAller à la ligne n%En se plaçant sur "(", "[", "{" déplace le curseur
jusqu'au caractère fermant correspondant
idem pour revenir au premier caractère
Ctrl+dDescend d'un demi écranCtrl+uRemonte d'un demi écran
zzRamène la ligne en cours au centre  
 Effacement Effacement
dwEfface le mot sur lequel se trouve le curseurndwEfface n mots après le curseur
d$Efface tout ce qui se trouve après le curseurddEfface une ligne complète
nddEfface n lignes  
 Remplacement Remplacement
r cRemplace le caractère sous le curseur par le caractère ccwRemplace une partie d'un mot à partir du curseur
:s/un/deuxRemplace un par deux:s/un/deux/gRemplace toutes les occurences de un
sur tout le fichier par deux
c$Remplace à partir du curseur jusqu'à la fin de la ligneMaj+rRemplacer du texte (on écrit par dessus)
 Suppression Suppression
xSupprime le caractère sous le curseurXSupprime le caractère à gauche du caractère
 Buffer Buffer
yySauvegarde la ligne dans le buffer actifnyySauvegarde n lignes dans le buffer actif
 Annulation Annulation
uAnnule la dernière commandeUAnnule les dernières commandes sur la ligne
 Restoration  
Ctrl+rRestore ce qui a été annulé par "u" ou "U"  
 Recherche Recherche
/motRecherche avant de mot?motRecherche arrière de mot
nRecherche l'occurrence suivante dans le même sensMaj+nRecherche l'occurrence suiante en sens inverse
*Recherche le mot sous le curseur en avant#Recherche le mot sous le curseur en arrière
 Commande  
:!lsExécute la commande externe ls puis retour à vi avec la touche "enter"  
 Fichiers Fichiers
:e fichierOuvre le fichier "fichier":nSi plusieurs fichiers sont ouverts : passe au fichier suivant
:NSi plusieurs fichiers sont ouverts : passe au fichier précédent:r fichierInsère le fichier "fichier"
 Insertion Insertion
iMode insertion sous le curseuroMode insertion sur la ligne en dessous du curseur
Maj+oMode insertion sur la ligne au dessus du curseuraMode insersion après le curseur
Maj+aMode insertion en fin de ligne  
 Copier / Coller Copier / Coller
pColle avant le contenu de la mémoire tampon sélectionnée sur la ligne située sous le curseurPColle après le contenu de la mémoire tampon sélectionnée sur la ligne située sous le curseur
vMode visuel pour surligner ce que l'on veut couper/copier/coller Utilisation des raccourci normal copier / coller ...
 Autre Autre
.Répète la dernière opération~Passe le caractère de majuscaule en minuscule et vice vers çà
:set nuNumérote les lignesCtrl+pCompletion sur le mot

HAUT

HAUT


Vous êtes ici : HomePage >> Debian >> Les commandes >> La comande vi
Auteur : wormcs