Académique Documents
Professionnel Documents
Culture Documents
Vi est un diteur de textes plein cran prsent sur la grande majorit des systmes UNIX. Voici un aidemmoire pour son jeu de commandes de base. Des commandes supplmentaires peuvent toutefois exister sur votre propre diteur vi vi ou compatible. Reportez-vous la documentation de votre systme.
AIDE MEMOIRE VI
Vi est un diteur de textes plein cran prsent sur la grande majorit des systmes UNIX. Voici un aidemmoire pour son jeu de commandes de base. Des commandes supplmentaires peuvent toutefois exister sur votre propre diteur vi vi ou compatible. Reportez-vous la documentation de votre systme.
:q :q ! ZZ, :wq! ou :x :[nn,nn] w[!]Esp[[>>]fich] :w :w ! :w >>fich :nn,nn w fich :args :n[!] :n! :rew[!] :f fich :e[!][+n] [fich] :e!+3 fich :e# :[nn]r fich :[nn]r ! sh-cmd :cd [rpertoire]
quitte vi quitte vi sans sauver les changements sauve si possible et quitte vi sauve le texte dans fich sauve sous le nom de fichier courant sauve sans vrifier les droits dcriture ajoute le texte la fin de fich sauve les lignes de lintervalle nn, nn affiche la liste des fichiers diter dite le fichier suivant ignore les changements dite le premier fichier dans la liste change le nom de fichier courant dite le fichier fich - voir :w :w dite fich en ligne 3, ignore changements dite le dernier fichier insre fich dans le texte dit excute une cmd shell et insre sa sortie dans le texte ( Si nn, aprs la ligne nn, sinon aprs le curseur ) change de rpertoire de travail
Les commandes suivantes peuvent aussi tre prcdes par n, mais le rsultat dpend de la commande. G, nG ou :n H, nH L, nL O, $ n$ |, n| fin du texte, ligne n du texte dbut de lcran, ligne n de lcran fin de lcran, n lignes avant la fin de lcran dbut de la ligne, fin de la ligne fin de la (n -1)me ligne aprs la ligne courante premire colonne, n-ime colonne
Recherche vers lavant de lexpression str Recherche vers larrire de lexpression str
Ces commandes prcdes par n sexcutent n fois ex : 3C-b remonte de trois pages dans le texte z Ent nnz Ent nnz. nnzmettre la ligne courante en haut de lcran mettre la ligne nn en haut de lcran mettre la ligne courante [ou nn] au milieu de lcran mettre la ligne courante [ou nn] en bas de lcran
Mode commande:
Oprateurs acceptant une commande de dplacement : [n]oper[n][dpl.] (v. Dplacer le curseur) - oper peut tre : d dd coupe jusquau curseur dplac la ligne
y Y ou yy c cc
copie jusquau curseur dplac la ligne change jusquau curseur dplac la ligne
ex.: d3w d3w coupe les 3 mots suivants, 4d3w coupe les 12 mots suivants (4 fois 3 mots), 4y copie les 4 lignes suivantes Autres oprateurs p, P [n]x, [n]X D, C ~ [n]. [n]rcar [n]Rstr Esc [n]sstr Esc [n]Sstr Esc [n]J [n]<<, >> :[nn,nn]m n :[nn,nn]t n colle aprs, avant le curseur coupe n caractres aprs, avant le curseur coupe ou change jusqu'en fin de ligne (v. d$ d$ ou c$) c$) change le caractre sous le curseur maj. <-> min. rpte le dernier changement [ n fois ] remplace le caractre sous le curseur par car [ n fois ] remplace le texte partir du curseur par str [ n f. ] substitue str au caractre sous le curseur [ n car. ] substitue str la ligne [ n lignes partir du curseur ] concatne deux lignes [ n lignes ] indente de n car. gauche, droite (v.opt. sw sw) dplace lintervalle ou la ligne aprs la n-ime ligne copie lintervalle ou la ligne aprs la n-ime ligne
Lutilisateur dispose de - 26 tampons de texte nomms de a z - 9 tampons des suppressions successives nomms de 1 9 p, P, y, Y et d peuvent tre prcdes par "car (minuscule) pour utiliser ou remplacer le tampon nomm car y, Y et d peuvent tre prcdes par "car (majuscule) pour rajouter le texte copi/coll dans le tampon car "car p "1pu.u.u Rappelle le contenu du tampon nomm car Recherche parmi les dernires suppressions
`` car
Retourne la ligne dorigine du dernier dplacement Retourne au 1er non-blanc de la ligne marque car Retourne au 1er non-blanc de dernire ligne change
Une phrase se termine par ., ! ou ? suivi de Ent ou deux Esp. Un paragraphe est dlimite par une ligne vide. Une section est dlimite par { en premire colonne. Les commandes (,) ,{, }, [[, ]] permettent de dplacer le curseur par phrases, paragraphes ou sections. (v. Dplacer le curseur)
et si loption magic a t choisie, . [str] [^str] [c1-c2] \<, \> * \(, \) & \n \car Joker, reprsente un caractre quelconque Reprsente un caractre contenu dans str Reprsente un caractre non contenu dans str Reprsente un caractre entre c1 et c2 inclus Reprsente le dbut, la fin dun mot Cherche 0, 1 ou plusieurs occurrences du dernier car. Dlimitent une sous-expression pour les remplacements Remplac par la chane trouve Remplac par la n-ime sous-expression \( ... \) Remplac par car ( permet dobtenir /$^.*[&|~ et \)
Recherche de chane :
/str, ?str / Ent, ? Ent // ~ /str /; //; // Recherche lexpression str en avant, en arrire Rpte la dernire recherche avant, arrire Dernire expression rgulire entre Derniere expression de remplacement entre Recherche la troisime occurrence de str
Recherche la troisime occurrence de str Va la n-ime ligne aprs (+) ou avant (-) str Rpte la dernire recherche dans le mme sens Rpte la dernire recherche en sens inverse
Remplacement de chane:
:s/str1 /str2 /str3 Substitue str2 str1 dans la ligne str3 est form partir de: c g p Confirmation des substitutions Substitue toutes les occurrences de str1 dans la ligne Affiche les changements Va la dernire ligne contenant str [dans nn,nn] Excute cmd sur les lignes contenant str Excute cmd sur les lignes ne contenant pas str
application typique de g : :g/str1/s//str2 /g change str1 en str2 partout dans le texte Le sparateur aprs :g ou :s nest pas obligatoirement / :s&/&\\&g change tous les / de la ligne en \
Ces directives sappliquent en mode commande seulement. Pour crer, supprimer ou afficher des macros valides aussi en mode insertion, il faut utiliser :map! ou :unmap!.
Abrviations:
:ab str texte :una str :ab Ds que str est insr, remplace par texte Supprime la dfinition de labrviation str Affiche toutes les abrviations dfinies
La liste des macros et abrviations dun utilisateur est souvent regroupe dans le fichier .exrc .exrc (voir Configuration). Cela permet par exemple de grer les touches de fonction, les flches et autres touches spciales sur des terminaux non standard. Les touches inutilises dans vi sont les touches de fonction et K V g q v * =.
Le rsultat saffiche sur la ligne dtat, en bas de lcran :f ou C-g :.= := :l Affiche le nom de fichier courant et la position Affiche le numro de ligne courant (ligne du curseur) Affiche le nombre de lignes du fichier Affiche les caractres spciaux de la ligne courante
Filtrage du texte:
[n] ! dpl cmd Envoie la rgion de texte dfinie par n et dpl (dplacement depuis le curseur courant, voir Dplacer le curseur) sur lentre de la commande cmd, puis remplace cette rgion par la sortie de cmd. Exemple : 4!+sort -n Trie numriquement cinq lignes partir du curseur !Gexpand Rcrit les tabulations avec des espaces depuis la position du curseur jusqu' la fin du texte.
Positionne l'option xxx faux noxxx :set xxx=val Donne une valeur l'option xxx :set Affiche la valeur de l'option xxx xxx? :set Affiche toutes les options all :set Affiche les options au dmarrage et les changements Voici une liste non exhaustive des options de vi. Une implmentation particulire peut toujours comporter des variantes sur les valeurs par dfaut, ou des options non listes ici. Nom autoindent autoprint autowrite directory errorbells hardtabs ignorecase lisp list magic mesg number open optimize prompt readonly remap report scroll shell shiftwidth showmatch slowopen tabstop taglength tags term terse timeout warn abrv. dfaut ai ap aw dir eb ht ic nu opt ro sh sw sm tl to tl=0 noai ap noaw dir=/tmp noeb ht=8 noic nolisp nolist magic mesg nonu open opt prompt noro remap report=10 scroll=11 sh=$SHELL sw=8 nosm description indentation automatique affiche la ligne aprs c, d, j, m, :s, t, u sauve automatiquement le texte emplacement du tampon disque sonne lors des messages d'erreur position des tabulateurs du terminal maj/min indiffrencies p. recherche modifie ( )[ ]{ } pour codage en lisp affiche tabulations et fins de lignes tend car. spciaux en recherche laisse passer les messages write write numrote les lignes autorise open avec vi supprime retour chariot automatique invite : en mode ligne de cmd interdit la modification du fichier autorise macros dans des macros taille maxi. modifications notifies nombre de lignes pour C-d et z nom du shell pour ! et :sh nombre d'espaces pour indenter indique le sparateur associ ( )[ ]{ } retarde l'affichage lors des insertions ts ts=8 taille des tabulations C-i C-i taille minimum pour gnration de tags (0 = pas de limite, v. ctags ctags ) nom du terminal utilis messages d'erreurs raccourcis 1s maxi. pour taper une macro "changements non enregistrs"
slow slow
- warn window=n
"changements non enregistrs" nombre de lignes de la fentre texte retour automatique a n caractres de la marge droite les recherches la fin du texte recommencent au dbut pas de vrification de droits d'accs
wm wm=0 ws ws wa nowa
Configuration au dmarrage:
Les directives :set et :map dun utilisateur peuvent tre runies dans le fichier $HOME/.exrc. Il ne faut pas de ":" dans ce cas. On peut aussi les mettre dans la variable denvironnement EXINIT. Par exemple: export EXINIT="set noautoindent aw showmatch" avec bash bash
[top]