Accueil > Le Terminal de Mac OS X > Guide rapide de vi

Guide rapide de vi

Par Wei-Meng Lee le 21/02/2003,

traduit par Quentin Decavel le 6/03/2003

Jaguar comprend quelques éditeurs de texte pour votre travail d’édition. Parmi ces applications, de nombreux utilisateurs expérimentés d’UNIX préfèreront vi (Visual Editor, Editeur Visuel). Alors que les utilisateurs de systèmes GUI (Graphic User Interface, Interface graphique utilisateur) sont plus à l’aise avec des traitements et éditeurs de texte “user friendly”, orientés utilisateur, vi est un éditeur de texte puissant et riche en options, efficace et peu coûteux.

L’apprentissage de vi requiert cependant de la patience et un peu de pratique; la courbe d’apprentissage est ainsi plus raide que celle d’un éditeur de texte tel que BBEdit. Mais les programmeurs qui utilisent régulièrement vi ne jurent que par lui. Pour certains, utiliser vi est un symbole de force, qui trace la frontière entre les hommes et les gosses.

Mais comment faire si vous devez éditer rapidement un fichier dans le Terminal et que vous n’avez pas le temps d’apprendre et de pratiquer vi ? Dans cet article, je présenterai un guide rapide qui vous fera débuter sur vi. Rappelez-vous cependant, que les sujets concernant vi sont assez nombreux pour remplir un livre entier, donc cet article n’est que la partie émergée de l’iceberg. Heureusement, il y a assez dans cet article pour vous éclairer sur ce puissant éditeur et vous amener à en apprendre plus.

Commencer avec vi

Pour utiliser vi, vous devez lancer le Terminal, et taper à l’invite :

vi fichiertexte

Quand vi est lancé, vous devez voir une fenêtre telle que celle qui suit:

Screen shot.
Figure 1. Commencez avec vi.

La première chose importante que vous devez savoir est que vi fonctionne sous deux modes–mode Commande et mode Insertion. Vous utilisez le mode Commande pour lancer des commandes, comme l’effacement d’une ligne ou d’un caractère. Pour commencer à taper, vous devez utiliser le mode Insertion. A chaque lancement de vi, vous serez en mode Commande.

Déplacer le Curseur

Alors que la plupart des terminaux supportent l’utilisation des flèches de curseur pour déplacer le curseur à l’écran, vous voudrez peut-être savoir que vous pouvez aussi utiliser les touches normales pour déplacer le curseur ? Comme sur la Figure 2, vous pouvez utiliser les touches h, j, k et l pour le curseur :

Screen shot.
Figure 2. Déplacer le curseur avec les touches h, j, k et l.

Au premier abord, cette assignation de touches peut sembler bizarre. Mais avec un peu de pratique, vous vous habituerez. Et le mieux, c’est que vous pouvez déplacer le curseur sans soulever votre main !

Ce qui est intéressant, c’est que pour déplacer le curseur de 5 places vers la droite, vous pouvez taper 5l. Pour descendre de trois lignes, tapez 3j, et ainsi de suite.

Pour passer au début d’une ligne, tapez 0 (zéro numérique). Pour passer à la fin de la ligne, tapez $.

Tentons maintenant de taper du texte dans notre fichier.

Insérer du Texte

Pour commencer à taper, nous devons passer en mode Insertion. Tapez i (pour insérer a un caractère) et entrez ce qui suit :

vi est un éditeur sous UNIX

Que se passe-t-il si vous faites une erreur et que vous voulez la corriger ? Logiquement, vous voudrez positionner votre curseur sur le caractère à éditer, et pour cela, vous utilisez vos touches de curseur et des caractères étranges apparaissent. Si c’est le cas, ne paniquez pas. Tapez simplement la touche Esc pour revenir en mode Commande. La touche Esc permet de passer du mode Insertion au mode Commande.

Ajouter du Texte

Maintenant que vous avez tapé votre première phrase, éditons-la. Je veux transformer cette phrase en: “vi est un puissant éditeur sous UNIX”. Positionnez donc votre curseur sous le “u” de “un” (la ligne suivante montre la position de votre curseur) :

vi est un éditeur sous Unix

Tapez a (pour ajouter) et entrer “puissant”. Vous devriez maintenant avoir :

vi est u puissantn éditeur sous UNIX

Alors quelle différence y-a-t’il entre a and i ? Si vous aviez tapé i à “u” et entré “puissant” vous auriez eu :

vi est puissantun éditeur sous UNIX

Vous voyez la différence ?

Pour insérer une nouvelle ligne, tapez simplement la touche entrée ou utilisez o pour insérer une nouvelle ligne entre deux lignes.

Effacer du Texte

Pour effacer un caractère, positionner le curseur sur le caractère et tapez x.

Pour effacer un mot entier, par exemple “puissant”, positionnez le curseur sur le début du mot et tapez dw, comme ceci :

vi est un puissant éditeur sous UNIX

Pour effacer une ligne entière, positionnez le curseur sur la ligne que vous voulez effacer et tapez dd. Pour effacer plusieurs lignes, tapez dnd, où n est le nombre de lignes à effacer. Par exemple, d2d effacera deux lignes.

Sauvegarder un Fichier

Si vous lancez vi en spécifiant un nom de fichier, vous pouvez sauver le fichier en tapant simplement :w et entrée. Notez qu’en tapant “:” en mode Commande vous amènera en bas de l’écran. Vous pouvez taper là des commandes supplémentaires.

Si vous lancez vi sans paramètres, vous devez fournir un nom de fichier :

~ ~ :w nouveaufichier.txt

Vous pouvez aussi utiliser cette méthode pour sauver le fichier dans un autre fichier. Notez que si le nom de fichier que vous spécifiez existe déjà, vi ne réécrira pas le nouveau fichier dessus. Pour remplacer le fichier existant, utilisez à la place :w! .

Screen shot.
Figure 3. Utilisez ! pour remplacer un fichier.

Insérer un fichier

Vous pourrez parfois avoir besoin d’ajouter le contenu d’un autre fichier dans votre fichier courant. Dans ce cas, vous pouvez utiliser :r, comme ceci :

~ ~ :r autrefichier.txt

Tout d’abord, positionnez le curseur sur la ligne où vous voulez insérer le fichier puis tapez :r.

Quitter vi

Pour sortir de vi, utilisez la commande :q . Si le fichier a été modifié et que vous n’avez pas sauvé les changements, vi ne vous permettra pas de quitter. Pour quitter sans sauver, utilisez :q!.

Ouvrir un fichier

Si vous voulez éditer un autre fichier en étant toujours sur vi, vous pouvez utiliser :e pour ouvrir un autre fichier à l’édition :

~ ~ :e fichiertexte.txt

Copier, Couper et Coller du Texte

Pour copier un bloc de texte, vous pouvez utiliser la commande y (pour yank , copier) . Pour copier toute la ligne, tapez yy.

vi est un éditeur sous UNIX
Les vrais programmeurs utilisent vi!
L'avez-vous essayé?
yy copie la ligne “vi est un éditeur sous UNIX”

Pour copier un mot, utilisez yw.

vi est un éditeur sous UNIX
Les vrais programmeurs utilisent vi!
L'avez-vous essayé?
yw copie le mot “éditeur”

Pour copier du curseur à la fin de la ligne, utilisez y$.

vi est un éditeur sous UNIX
Les vrais programmeurs utilisent vi!
L'avez-vous essayé?
y$ copie la ligne “éditeur sous UNIX”

Pour coller du texte copié, utilisez la commande p (pour put , poser) .

vi est un éditeur sous UNIX
Les vrais programmeurs utilisent vi!
L'avez-vous essayé?
En continuant sur l’exemple y$ précédent, P (p majuscule) provoque:

vi est un éditeur sous UNIXéditeur sous UNIX
Les vrais programmeurs utilisent vi!
L'avez-vous essayé?

p (p minuscule) donne:

vi est un ééditeur sous UNIXditeur sous UNIX
Les vrais programmeurs utilisent vi!
L'avez-vous essayé?

Notez que pour couper, vous pouvez utiliser la commande d (voir “Effacer du Texte”) pour couper un bloc de texte et p pour coller le bloc de texte.

Annuler et Rétablir

Vous pouvez annuler votre action en entrant u. Notez que vous ne pouvez annuler que la dernière action. Pour rétablir la même action, utilisez le point (.).

Changer et Remettre du Texte

Vous pouvez changer le texte de votre fichier en utilisant la commande c . Par exemple, cw vous permet de changer le mot entier:

vi est un éditeur sous UNIX
Les vrais programmeurs utilisent vi!
L'avez-vous essayé?
cw solides (puis appuyez sur esc) remplacera le mot “vrais” par le mot “solides

Pour changer les 3 derniers mots, utilisez c3b.

Pour changer les mots à partir de la position courante du curseur jusqu’à la fin de la ligne, utilisez c$.

Pour changer les mots à partir du début de la ligne jusqu’à la position courante du curseur, utilisez c0 (zéro numérique).

Pour remplacer un seul caractère, positionnez le curseur sur le caractère que vous voulez rermplacer et entrez r, suivi d’un caractère.

Chercher du Texte

Pour chercher une partie de texte particulière dans vi, utilisez la commande / suivie du texte à rechercher. Par exemple, /dans recherchera la première occurence du mot “dans”. Pour répéter la recherche, entrez / puis Entrée.

Pour remplacer toutes les occurences d’un mot dans un document, vous pouvez utiliser la commande s . Par exemple, :s/dans/sur remplacera la première occurence du mot”dans” avec le mot “sur”.

:1,45s/dans/sur/g remplacera toutes les occurences du mot “dans” avec le mot “sur” de la ligne 1 à la ligne 45.

:%s/dans/sur/g remplacera toutes les occurences du mot “dans” avec le mot “sur” dans le fichier entier.

Sauter à une Ligne

Si vous éditez un grand fichier, vous pouvez sauter directement à une ligne en donnant le numéro de ligne. par exemple, :4 positionnera le curseur directement sur la ligne quatre. Ceci est utile quand vous déboguez un programme et que le compilateur a indiqué une erreur à une ligne particulière.

J’espère que vous avez trouvé ce tutoriel rapide à vi utile. Souvenez-vous, plus vous utiliserez vi plus vous l’apprécierez. Amusez-vous !

Textes originaux en anglais sur O’Reilly : A Quick Guide to vi par Wei-Meng Lee

quentin Le Terminal de Mac OS X , , , ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire