1. Livres & vidéos
  2. Linux
  3. Vi
Extrait - Linux Principes de base de l'utilisation du système (9e édition)
Extraits du livre
Linux Principes de base de l'utilisation du système (9e édition) Revenir à la page d'achat du livre

Édition de fichiers texte - Vi

Introduction

Quel que soit le système d’exploitation utilisé, il est indispensable de savoir éditer des fichiers texte. C’est d’autant plus vrai sous Linux où la grande majorité des fichiers de configuration et des scripts shell est dans ce format, sans oublier les fichiers de log.

On entend par fichier texte, un fichier contenant des données sous forme de caractères ASCII (American Standard Code for Information Interchange), c’est-à-dire du texte sans mise en forme, ni même de notion de police de caractères.

De la simple commande ed permettant d’éditer ligne par ligne un fichier texte à l’outil nedit avec interface graphique qui propose la coloration syntaxique de différents formats de fichiers, il existe un grand nombre d’éditeurs sous Linux. 

Malgré une interface peu ergonomique mais néanmoins très puissante, c’est l’éditeur de texte Vi, devenu un standard sur tout système UNIX, qui sera présenté dans ce chapitre.

Aujourd’hui, on utilise une variante de Vi, le plus souvent Vim (Vi IMproved). Cependant, les commandes que nous allons voir ici sont identiques.

Présentation de Vi

Vi, qui signifie "VIsual editor" et se prononce "vi-aïe" (ou [vi:ai]), est un éditeur plein écran en ligne de commande.

Conçu pour travailler sur n’importe quel type de terminal - et donc avec n’importe quel clavier - cet outil sait fonctionner en utilisant uniquement les touches alphanumériques basiques, en plus de la touche d’échappement du clavier.

Sur un clavier PC français "azerty" actuel, on pourrait se contenter d’utiliser les touches blanches suivantes :

images/0601clav.png

Il est possible d’utiliser les touches grisées du clavier, comme les flèches de direction ou le pavé numérique, mais il est préférable de savoir manipuler vim sans ces touches dans un premier temps. Ainsi, quelle que soit la configuration du terminal ou la variante de vi employée, l’édition de fichier sous Linux ne posera pas de problème.

1. Lancement de Vi

Il suffit de saisir la commande vi pour lancer l’éditeur Vi. Dans ce cas, l’éditeur s’ouvre, prêt à composer un nouveau fichier :

images/RI06-01v9.png

Ici, le curseur se trouve en haut à gauche de l’écran et un texte d’accueil est affiché ; celui-ci n’interfère pas avec le texte du nouveau fichier et il sera automatiquement masqué dès la première commande d’édition.

La dernière ligne de l’affichage est réservée à l’affichage d’informations diverses (position du curseur, numéro de ligne, mode de fonctionnement...) et aux commandes en mode "ex" que l’on détaillera plus loin.

Le caractère ~ en début de ligne signifie qu’il n’y a aucun caractère - ni même de retour chariot (touche [Entr]) - sur la ligne, autrement dit qu’on a atteint la fin du fichier.

On peut aussi éditer un fichier existant en spécifiant son nom en argument sur la ligne de commande :

$ vi fichier 

Enfin, si l’argument passé est un nom de fichier inexistant, le nouveau fichier édité sera enregistré sous ce nom par défaut :

$ vi nouveau_fichier 

Pour quitter l’éditeur Vi sans avoir lu la suite du chapitre, il faut taper la séquence de touches suivantes...

Autres outils d’édition

Les distributions Linux comprennent généralement une multitude d’éditeurs texte, d’éditeurs hexadécimaux (pour les fichiers binaires par exemple) et de traitements de texte (mise en page de documents).

1. Autres éditeurs texte

Voici les quelques outils supplémentaires pour l’édition de fichiers texte.

Nano

Nano est un petit éditeur texte sous licence GNU GPL, dérivé de l’éditeur Pico fourni avec le client de messagerie électronique Pine. Lancé via la commande nano, il se veut simple d’utilisation et offre un menu malgré son interface non graphique.

images/RI06-02v9.png

L’utilisation des menus se fait en combinant la touche [Ctrl] (représentée par ^) ou [Alt] (représentée par M-) et la lettre du menu.

Emacs, XEmacs

Emacs (commande emacs depuis un terminal texte ou commande emacs -nw depuis un émulateur de terminal) est un éditeur fonctionnant en console texte développé par Richard Stallman. Au-delà de l’édition de fichiers texte, il possède un grand nombre de modules complémentaires.

images/RI06-03v9.png

La version graphique de cet utilitaire :

images/RI06-04v9.png

Éditeur de texte de Gnome

Fourni avec l’environnement de bureau GNOME, cet outil est très simple d’emploi et offre un certain nombre de fonctionnalités intéressantes, dont...

Exercice

Exercice

Si la commande vimtutor est installée sur votre système, lancez-la et suivez le tutoriel Vim proposé.

Solution

La commande vimtutor lance Vim en ouvrant un fichier texte spécialement conçu pour l’apprentissage des fonctions principales de l’éditeur. Il suffit de commencer à lire le texte et suivre les instructions affichées :

=============================================================================== 
=    B i e n v e n u e  dans  l e  T u t o r i e l  de  V I M  -  Version 1.7 = 
=============================================================================== 
 
     Vim est un éditeur très puissant qui a trop de commandes pour pouvoir 
     toutes les expliquer dans un cours comme celui-ci, qui est conçu pour en 
     décrire suffisamment afin de vous permettre d'utiliser simplement Vim. 
 
     Le temps requis pour suivre ce cours est d'environ 25 à 30 minutes, selon 
     le temps que vous passerez à expérimenter. 
 
     ATTENTION : 
     Les commandes utilisées dans les leçons modifieront...