les sites de phcha.com, rencontre, broderie et documentation

(45) Vi

marqueurs et buffers
substitution de texte
macros
commandes externes

marqueurs et buffers [haut]

Les marqueurs sont au nombre de 26 et sont représentés par les lettres minuscules uniquement.

mamarque la position du curseur avec le marqueur a
'a(quote a) retourne sur le premier caractère non blanc de la ligne contenant le marqueur a
`a(backquote a) retourne à la position exacte du marqueur a

Les marqueurs permettent de sélectionner des lignes contigues.

d'asupprime de la ligne contenant le marqueur a à la ligne contenant le curseur. On peut retrouver le texte avec les commandes p ou P
y'acopie de la ligne contenant le marqueur a à la ligne contenant le curseur. On peut retrouver le texte avec les commandes p ou P

Les buffers permettent de conserver des lignes contigues dans des espaces nommés et d'en disposer ensuite à volonté. Les buffers sont au nombre de 36 dont 26 sont controlés par l'utilisateur et sont représentés par les lettres minuscules ou majuscules. Les autres sont représentés par les chiffres.

"ay'bsauve dans le buffer a le texte de la ligne contenant le marqueur b à la ligne contenant le curseur. On peut retrouver le texte avec les commandes "ap ou "aP
"a3ysauve dans le buffer a la ligne contenant le curseur et les deux lignes suivantes. On peut retrouver les trois lignes avec les commandes "ap ou "aP

substitution de texte [haut]

:1,5s/foo/bar/gcremplace dans les lignes 1 à 5, les occurrences de foo par bar et demande la confirmation avant chaque remplacement. Le séparateur (ici /) peut être changé
:1,$s... ou :%s...effectue la substitution dans tout le fichier
:.,.+3s...effectue la substitution dans la ligne courante et dans les trois lignes suivantes
:'a,$s...effectue la substitution dans la ligne marquée par le marqueur a et dans toutes les lignes suivantes
:'a,'a+3s...effectue la substitution dans la ligne marquée par le marqueur a et dans les trois lignes suivantes

macros [haut]

Les caractères de contrôle doivent être préfixés par ^V (Ctrl-V). Le retour chariot est inséré par la séquence ^V^M.

:map X iXXX^[(^[ représente ESC inséré par la séquence Ctrl-V ESC) défini une macro qui insère trois caractères X et retourne en mode commande. Pour déclencher cette macro, il faut utiliser la touche « X » depuis le mode commande
:map! SNCF Société Nat...idem mais le déclenchement se fait en utilisant la séquence « SNCF » depuis le mode insertion
:abbr SNCF Société Nat...idem mais le déclenchement se fait lorsque la séquence « SNCF » est entourée de blancs
:mapliste les définitions des macros de mode commande
:map!liste les définitions des macros de mode insertion
:abbrliste les définitions des abbréviations de mode insertion
:unmap Xdestruction de la macro « X »
:unmap! SNCFdestruction de la macro « SNCF »
:unabbr SNCFdestruction de l'abbréviation « SNCF »

commandes externes [haut]

Les commandes externes permettent de visualiser le résultat d'une commande sans sortir de l'éditeur ou de remplacer tout ou partie du texte édité par le résultat d'une commande.

:!lslance la commande externe (ici ls) et visualise le résultat. Le fichier en cours d'édition n'est pas modifié
:1,5!lsremplace les lignes 1 à 5 par le résultat de la commande externe
:%awk '{print $5}'Toutes les lignes (%) du fichier en cours d'édition sont filtrées par la commande externe et remplacées par le résultat de cette commande