Commande de base VI

Premier éditeur de texte plein écran pour les systèmes Unix, vi est simple, compact et efficace. Même s’il n’est pas très convivial, vi est disponible sur tous les O.S. , voir www.vim.org .

Commande de lancement:

  • vi ouvre un fichier non nommé.
  • vi pim pam poum Édition successive des trois fichiers ( :n pour passer au suivant )
  • vi -r fic Permet de récupérer la copie de secours (en cas de pépin).
  • vi -R fic Édition en mode lecture seule (READ-ONLY)
  • vi +n fic Ouvre le fichier en se positionnant directement à la ligne n

Se déplacer dans le texte

Les quatres flèches sont utilisables sur la plupart des versions, mais il vaut mieux utiliser les touches [h], [j], [k] et [l].

Les modes de VI

Deux modes : le mode d’insertion et le mode de commande.

Mode insertion

Pour passer en mode insertion:

  • tapez i ou [Insert] pour insérer du texte à l’endroit où se trouve le curseur,
  • tapez A pour ajouter du texte à la fin d’une ligne.

En mode insertion, vous pouvez taper du texte, effacer avec la touche [Suppr] ou [Bkspace]. Pour échapper au mode insertion , tapez [Esc].

Les commandes de base du mode normal

  • :q! [Entrée] pour quitter sans sauver,
  • :w [Entrée] pour enregistrer,
  • :wq [Entrée] pour enregistrer et quitter,
  • x efface le caractère qui se trouve sous le curseur,
    4x efface les 4 caractères à partir de la position du curseur,
  • dd efface la ligne sur laquelle se trouve le curseur,
    6dd efface les 6 lignes à partir de la position du curseur,
  • :u[Entrée] permet d’annuler (ou :undo).
  • u pour revenir en arriére (undo)
  • rx Remplace le caractère courant par le caractère x
  • s Remplace le caractère courant (substitution)
  • cw Remplace le mot courant ou suivant ( change word)
  • cb Remplace le mot courant ou précédent
  • S ou cc Remplace tous les caractères de la ligne courante
  • C Remplace la fin de la ligne courante ( depuis le curseur )

Les commandes de base du mode insertion

  • a Ajouter du texte après le curseur
  • A Ajouter du texte en fin de ligne courante
  • i Insérer du texte avant le curseur
  • I Insérer du texte en début de ligne
  • o ou O Créer une ligne vierge sous ou au dessus du curseur
  • R Remplacer le texte à partir du curseur
  • n[s] Supprime n caractères et passe en mode insertion
  • [CTRLh] ou [<-] efface la lettre précédente
  • [CTRLw] efface le mot précédent
  • [CTRLv][CTRLM] pour écrire ^M

Effacer du texte

  • ndd Efface n lignes à partir de la ligne courante (dd efface la ligne courante)
  • D Supprime la fin de la ligne courante ( depuis le curseur )
  • nx Efface n caractères à partir du caractère courant (x efface juste le caractère courant)
  • X Supprime le caractère juste avant le curseur
  • ndw ou ndb Efface les n mots suivants ou précédents, à partir du mot suivant
  • d/str Efface tout depuis le curseur jusqu’à la première occurence de str

Commandes sur les fichiers

  • :nfichier Ouvre le fichier fichier
  • :q! Quitter vi sans enregistrer les modifications
  • ZZ ou :wq ou [:x] Enregistrer et quitter
  • :sh Ouvre un shell ; après avoir tapé exit dans ce shell, on revient à vi
  • :filenom Change le nom du fichier courant, équivalent à « enregistrer sous » lorsque vous enregistrerez.
  • [:x,yw fichier] Enregistre les lignes x à y dans le fichier fichier
  • [:x,yw>>fichier] Ajoute les lignes x à y à la fin du fichier fichier
  • :q Quitter vi
  • :w Sauvegarde le fichier courant
  • :w fic Sauvegarde le fichier courant dans le fichier fic
  • :w! fic Force la sauvegarde du fichier courant dans le fichier fic
  • ! pour passer outre

Mouvements du curseur

  • h, l, k,j Déplace le curseur d’un caractère vers la gauche, la droite, le haut, le bas
  • nb ou nw Déplace le curseur de n mots vers la gauche ou vers la droite.
  • nG Aller à la ligne n
  • CtrlB, CtrlF ou Page up, Page down Ecran précédent, suivant
  • n| Aller à la colonne n
  • zEntrée Positionner la ligne courante en haut de l’écran
  • 0 ou | Place le curseur en début de ligne
  • ^ ou _ Place le curseur sur le premier caractère différent de l’espace et de la tabulation
  • $ Place le curseur en fin de ligne
  • H Place le curseur en première ligne de la fenêtre (HEAD)
  • nH Place le curseur en nième ligne de la fenêtre en partant du haut
  • M Place le curseur au milieu de la fenêtre
  • L Place le curseur en denière ligne de la fenêtre
  • w Place le curseur sur le premier caractère du prochain mot à droite
  • b Place le curseur sur le premier caractère du mot courant puis du précédent mot à gauche
  • e Place le curseur sur le dernier caractère du mot courant puis du prochain mot à droite
  • W Place le curseur sur le premier caractère du prochain mot à droite
  • B Place le curseur sur le premier caractère du mot courant puis du précédent mot à gauche
  • E Place le curseur sur le dernier caractère du mot courant puis du prochain mot à droite
  • G Se positionner en fin de fichier

Chercher et copier

  • /str[Entrée] Rechercher str
  • /^str[Entrée] Chercher la prochaine ligne qui commence avec str
  • nyy ou nY Copie n lignes (yy copie la ligne courante) dans le buffer
  • y/str Copie depuis le caractère courant, jusqu’avant str, dans le buffer
  • ynw Copie n mots à partir du mot courant, dans le buffer (yw copie le mot courant)
  • p ou P Colle le contenu du buffer après ou avant le curseur (p en dessous P au dessus)
  • [:x,yg/chaine/com] Rechercher entre les lignes x et y (optionnel) la chaîne chaine et exécuter la commande com sur chaque occurence

Autres commandes

  • n<< ou n>> Indente n lignes vers la gauche ou vers la droite
  • r Remplacer le caractère sous le curseur par un caractére ( r c)
  • ~ Transforme les minuscules en majuscules et vice-versa
  • xp Echange le caractère courant avec le suivant
  • d'' Efface tout de la ligne d’où on est parti par G jusqu’à la ligne courante
  • yy Copie la ligne courante
  • y'' Copie tout de la ligne d’où on est parti par G jusqu’à la ligne courante
  • :%!sort Trie le fichier en cours d’édition (% pour toutes les lignes du fichier, : c’est une commande)
  • Ctrl rr : double undo

Les options de configuration

  • :set [option] pour activer une option
  • :set no[option] pour desactiver une option
  • :set all affiche toutes les options et leur valeur
  • :set affiche toutes les options qui n’ont pas leur valeur par défaut
  • :set [option]? affiche la valeur de l'[option]

Description des options le plus courantes :

Nom Nom long Défaut Description
ai autoindent noai indentation automatique
aw autowrite noaw écriture si besoin avant changement de fichier par :n
eb errorbells eb chaque message d’erreur est précédé d’un bip
dir=d directory /tmp/ répertoire temporaire
ic ignorecase noic ne fait pas de difference minuscule/majuscule lors des recherches et des remplacements
magic magic utilise les expressions régulières lors des recherches et des remplacements
nu number nonu numérote les lignes
remap remap autorise l’usage des macros dans les macros
ro readonly noro passe le fichier en mode lecture seule
sh=sh shell /bin/sh indique quel shell utiliser
sm showmatch nosm visualise les correspondances {} ()
showmode noshowmode affiche le mode actuel sur la ligne du bas
sw=n shiftwidth 8 fixe à n le nombre d’espaces de l’indentation
term affiche le type du terminal
ts=n tabstop 8 taille d’une tabulation
wm=n wrapmargin 0 la césure automatique des lignes se fait a n colonnes du bord droit de la fenêtre

Le fichier de configuration

  • Un exemple de fichier $HOME/.exrc :
set autoindent
set number

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :