LDH

Petit manuel VI


VI (prononcez vi aille) est un éditeur de textes très simple et extrêmement performant, contrairement à ce que pourraient vous dire certains. Ils ne l'ont sans doute jamais utilisé. Enfin si peut-etre. Pas assez dirons-nous.

Les problèmes d'utilisation qui ont fait sa mauvaise réputation viennent du fait que les gens ne saventu pas DU TOUT s'en servir, mais il suffit d'une heure pour apprendre.

Je ne vous expliquerai pas ici tous les

Je ne vais pas vous faire un vrai cours de vi, mais vous donner dequoi vous « débrouiller » au cas ou vous en auriez besoin... Ça peut arriver aux meilleurs: on ne sait jamais, vous pourriez vous retrouver avec une machine UNIX complètement plantée, sans autre ressource qu'une fenêtre en mode terminal VT100 (texte) et en sh. C'est arrive a quelques uns de mes amis il n'y a pas si longtemps, et ils ont trouvé mon manuel fort utile.


INTRODUCTION

La caractéristique principale de VI est d'avoir deux modes d'entrées. Un mode « données » dans lequel on tape le texte, et un mode « commandes » dans lequel on effectue le couper-copier-coller, les recherches etc. Par défaut, le mode d'entrée est le mode commande.

Première commande vraiment utile: u pour undo. Vous en aurez besoin au début.

DÉPLACEMENTS: EN MODE COMMANDE

En mode commande, on peut se déplacer dans le texte avec les flèches ou avec les touches h (gauche), l (droit), j (bas) et k (haut). Vi est censé fonctionner partout, et il y a des terminaux dont les claviers n'ont pas de flèches, comme la pdp11 de notre ami xunk par exemple.

Pour aller de mot en mot vers l'avant, pressez w, et vers l'arrière b.

etc.

Début de ligne: 0, fin de ligne: $.

Pour aller a la ligne 33, tapez 33G. Taper G sans le faire précéder d'un chiffre vous place à la fin du fichier.

ET SI ON ENTRAIT DU TEXTE?

C'est bien gentil de pouvoir se ballader, ce serait bien de pouvoir écrire non?

Pour entrer des caractères à droite du curseur, il fait tout d'abord taper a, puis entrer son texte. Pour insérer des caractères sous le curseur, c'est i.

Quand vous avez pressé a ou i, vous n'êtes plus en mode commande. Vous pouvez à tout moment y retourner en pressant la touche esc.

Attention, avec certaines vieilles versions de vi, lorsque vous vous retrouvez sur un début de ligne vide, vous repassez en mode commande et le texte que vous pourriez taper par la suite est interprété en tant que tel.

EFFACEMENTS: EN MODE COMMANDE:

Maintenant qu'on sait écrire, voyons comment effacer du texte:

Effacer le caractere sous le curseur: x. Pour effacer le mot courant, dw, pour la ligne courante: dd.

Pour effacer du curseur jusqu'à la fin de la ligne, au lieu de taper d$, on peut aussi presser D.

RECHERCHES ET REMPLACEMENTS

La recherche en avant d'un motif se fait en tapant /motif sur la ligne de commande. Le motif recherché peut être une expression régulière au sens de grep.

Recherche en arrière d'un motif: ?motif (même remarque)

Une fois le motif trouvé, tapez juste / (ou ?) pour passer au motif suivant. La recherche se fait en boucle dans le fichier.

DIVERSES FONCTIONS SUPPLÉMENTAIRES:

Pour coller sous (respectivement après) le curseur la dernière portion de texte effacée - mot(s), caractère(s) ou ligne(s) - tapez la lettre p (respectivement P) en mode commande.

Pour répéter la dernière opération effectuée, pressez . (point)

Lorsque votre écran est « alteré » par des informations externes (une demande de talk par exemple) faites ctrl-l pour le rafraîchir.

Pour « coller » la ligne suivante à la fin de la ligne courante, (càd supprimer le \n en fin de la ligne courante) tapez J


LES FONCTIONS :

VI possède un dernier mode dont nous n'avons pas encore parlé. Lorsque vous pressez la touche ':' en mode commande, votre curseur disparaît et descend à la dernière ligne de l'écran. Vous pouvez alors entrer des commandes spécifiques, le plus souvent ayant trait aux fichiers. Il faut les faire suivre de la touche entrée.

:w [abc]écrit le fichier [sous le nom abc]
:wqsauve et quitte.
:q!quitte sans sauver
:r definsère dans le fichier courant, à l'endroit du curseur, le contenu du fichier def.
:sh ouvre un shell. Tapez exit pour retourner sous VI.

Il existe de nombreuses autres fonctions. VI génère des variables dans lesquelles on peut stocker des valeurs, des caractères, des mots ou des lignes entières, il peut gérer plusieurs fichiers simultanément etc.

LE FICHIER DE CONFIGURATION

Vi accepte un fichier de configuration, .exrc, qui doit se trouver dans votre répertoire sur les configurations UNIX. Ce fichier peut contenir de nombreuses choses... Les directives se font en entrant des commandes "set <option$gt;" ou "set <option>=<valeur>". Pour inverser une option il suffit de mettre "set no>option<". Les options les plus utiles sont:

set autoindent automatic identation (def=noautoindent)
set errorbells sounds bell when an error occurs (def=errorbells)
set lisp insert idents in appropriate lisp format (def=nolisp)
set mesg allows system messages to display on terminal (def=mesg)
set showmatch cursor moves briefly to matching ( or { when ) or } entered. (default=noshowmatch)
set 8bitdisplay Autorise l'affichage des accents.
set wrapmargin=5 Définit la marge à droite. Si elle est différente de zéro, un passage à la ligne automatique est effectué lorsque vous arrivez en bout de ligne.

On peut redéfinir ces options de manière locale dans un vi en tapant « :set commande » en mode commande...


UN PETIT CHAPITRE EN PLUS: ALERTE!

    Si un jour...
  • vous avez des problèmes avec votre serveur,
  • votre configuration a explosé,
  • vous êtes en mode texte,
  • vous êtes en single-user,
  • vous voulez modifier votre config à l'aveugle ou presque...

Ce jour-là, vous serez très content d'avoir près de vous quelqu'un qui connaît vi.

Mais comme partout, vous serez encore plus content de montrer à votre supérieur hiérarchique que les autres sont des brêles (pardonnez-moi l'expression) et que vous, vous savez vous en servir...

    le minimum est le suivant:
  • Pour se déplacer: HAUT k BAS j GAUCHE h DROITE l
  • Pour effacer des caractères sous le curseur: DEL x
  • Pour effacer une ligne: dd
  • Pour insérer du texte sous le curseur: i<le texte>ESC
  • Pour rafraîchir l'écran: control-L
  • Pour quitter: en sauvant: ESC puis :wq, sans sauver: ESC puis :q!

Pour finir, la référence des amateurs de vi!!!

The Vi Lovers Home Page


Motenai