Section header image

Éditeur de texte

Le principal éditeur de texte pour Linux et UNIX est un programme appelé vi. Bien qu'il existe de nombreux éditeurs disponibles pour Linux qui vont du minuscule éditeur nano à l'imposant éditeur emacs, l'éditeur vi présente plusieurs avantages :

  • L'éditeur vi est disponible sur toutes les distributions Linux dans le monde. Ce n'est pas le cas des autres éditeurs.

  • L'éditeur vi peut être exécuté à la fois dans une interface CLI (interface de ligne de commande) et une interface graphique (interface utilisateur graphique).

  • Alors que de nouvelles fonctionnalités ont été ajoutées à l'éditeur vi , les fonctions de base existent depuis des décennies. Cela signifie que si quelqu'un a appris l'éditeur vi dans les années 1970, il pourrait utiliser une version moderne sans aucun problème. Bien que cela semble peut paraître trivial aujourd’hui, cela ne le sera pas dans vingt ans.

Réfléchissez à ceci

La bonne façon de prononcer l'éditeur vi est l'éditeur vee-eye. Les lettres vi représentent le mot visuel, mais elles n'ont jamais été prononcées de cette façon par les développeurs, mais plutôt la lettre v suivie de la lettre i en anglais.

En réalité, la plupart des systèmes Linux n'incluent pas le vioriginal, mais une version améliorée de celui-ci connue sous le nom de vim, pour vi améliorée. L'éditeur vim est ainsi disponible pour la plupart des distributions Linux. En réalité, vim fonctionne comme vi, mais comporte des fonctionnalités supplémentaires. Pour les sujets qui seront abordés dans ce cours, vi ou vim suffit.

Pour commencer à utiliser vi, tapez simplement la commande suivie du chemin d'accès au fichier à modifier ou créer :

sysadmin@localhost:~$ vi newfile.txt

ITrois modes sont utilisés dans vi : le mode commande, le mode insertion et le mode enregistrement.

Mode commande

Initialement, le programme démarre en mode commande. Le mode Commande permet de taper des commandes, telles que celles utilisées pour déplacer un document, manipuler du texte et accéder aux deux autres modes. Pour repasser en mode commande à tout moment, appuyez sur la touche Echap.

Une fois que du texte a été ajouté dans un document, pour effectuer des actions comme le déplacement du curseur, la touche Echap doit d'abord être pressée pour revenir en mode commande. Cela semble être beaucoup de travail, mais rappelez-vous que vi fonctionne dans un environnement terminal où une souris ne vous sera d’aucune utilité.

Les commandes de déplacement dans vi ont deux aspects, un mouvement et un préfixe numérique facultatif, qui indique combien de fois répéter ce mouvement. Le format général est le suivant :

[nombre] motion

Le tableau suivant résume les touches de mouvement disponibles :

Mouvement Résultat
h Un caractère à gauche
j Descendre d'une ligne
k Monter d'une ligne
l Un caractère à droite
w Un mot en avant
b Un mot en arrière
^ Début de ligne
$ Fin de ligne

Veuillez noter :

Depuis la mise à niveau vers vim , il est également possible d'utiliser les touches fléchées au lieu de hjkl respectivement.

Ces mouvements peuvent être préfixés par un nombre pour indiquer combien de fois effectuer le mouvement. Par exemple, 5h déplace le curseur cinq caractères vers la gauche et 3w déplace le curseur trois mots vers la droite.

Pour déplacer le curseur sur un numéro de ligne spécifique, tapez ce numéro de ligne suivi du caractère G, par exemple, pour accéder à la cinquième ligne du fichier 5G, 1G ou gg peut être utilisé pour aller à la première ligne du fichier, tandis qu'un G seul vous mènera à la dernière ligne. Pour savoir sur quelle ligne se trouve actuellement le curseur, utilisez CTRL-G.

Mode actions

La convention standard pour l'édition de contenu dans les traitements de texte consiste à utiliser copier, couper et coller. Le programme vi n'en comporte aucun. Au lieu de cela, vi utilise les trois commandes suivantes :

Standard Vi Signification
cut d supprimer (delete)
copy y arracher (yank)
paste P | p mettre (put)

Les déplacements décrits dans la page précédente sont utilisés pour spécifier où l'action doit avoir lieu, toujours en commençant par l'emplacement actuel du curseur. Les des formats généraux suivants pour les commandes d'action sont acceptés :

action [nombre] motion
[nombre] action motion

Supprimer (Cut)

Supprimer supprime le texte indiqué de la page et l'enregistre dans le tampon, le tampon étant l'équivalent du « presse-papiers » utilisé dans Windows ou Mac OSX. Le tableau suivant fournit des exemples d'utilisation courants :

Action Résultat
dd Supprimer la ligne courante
3dd Supprimer les trois prochaines lignes
dw Supprimer le mot courant
d3w Supprimer les trois prochains mots
d4h Supprimer quatre caractères à gauche

Modifier

Modifier est très similaire à supprimer ; le texte est supprimé et enregistré dans le tampon, cependant, le programme est commuté en mode insertion pour permettre des modifications immédiates au texte. Le tableau suivant fournit des exemples d'utilisation courants :

Action Résultat
cc Modifier la ligne courante
cw Modifier le mot courant
c3w Modifier les trois prochains mots
c5h Modifier cinq caractères vers la gauche

Arracher (Yank)

Yank place le contenu dans le tampon sans le supprimer. Le tableau suivant fournit des exemples d'utilisation courants:

Action Résultat
yy Copier la ligne
3yy Copier les trois prochaines lignes
yw Copier le mot courant
y$ Copier jusqu'au bout de la ligne

Mettre (Put)

Put met le texte enregistré dans le tampon avant ou après la position du curseur. Notez que ce sont les deux seules options, coller n'utilise pas les mouvements comme les commandes d'action précédentes.

Action Résultat
p Coller après le curseur
P Coller avant le curseur

Recherche dans vi

Une autre fonction standard offerte par les traitements de texte est la recherche. Souvent, les gens utilisent CTRL + F ou regardent sous le menu d'édition. Le programme vi utilise la recherche. La recherche est puissante car elle prend en charge à la fois les motifs de texte littéral et les expressions régulières.

Pour effectuer une recherche à partir de la position actuelle du curseur, utilisez le / pour lancer la recherche, tapez un terme de recherche, puis appuyez sur la touche Entrée pour commencer la recherche. Le curseur se déplace vers la première correspondance trouvée.

Pour passer à la correspondance suivante en utilisant le même motif, appuyez sur la touche n . Pour revenir à une correspondance précédente, appuyez sur la touche N. Si la fin ou le début du document est atteint, la recherche retourne automatiquement de l'autre côté du document.

Pour commencer à rechercher en arrière à partir de la position du curseur, commencez par taper ?, puis tapez le motif à rechercher et appuyez sur la touche Entrée.

Mode insertion

Le mode Insertion permet d'ajouter du texte au document. Il y a plusieurs façons de passer en mode insertion à partir du mode commande, chacune différenciée par l'endroit où l'insertion de texte commencera. Le tableau suivant couvre les plus courants :

Saisie Résultat
a Entre en mode insertion juste après le curseur
A Entre en mode insertion à la fin de la ligne
i Entre en mode insertion juste avant le curseur
I Entre en mode insertion au début de la ligne
o Entre en mode insertion sur une ligne blanche après le curseur
O Entre en mode insertion sur une ligne blanche avant le curseur

Mode ex

À l'origine, l'éditeur vi s'appelait ex. Le nom vi était l'abréviation de la commande visuel dans l'éditeur ex qui a basculé l'éditeur en mode « visuel ».

Originellement, en mode normal, l'éditeur ex autorisait uniquement les utilisateurs à voir et à modifier une ligne à la fois. En mode visuel, les utilisateurs peuvent voir autant du document que le permet la taille de l'écran. Comme la plupart des utilisateurs préféraient le mode visuel au mode d'édition de ligne, le fichier programme ex était lié à un fichier vi , de sorte que les utilisateurs pouvaient démarrer ex directement en mode visuel lorsqu'ils exécutaient l'éditeur vi.

Au final, le fichier programme réel a été renommé vi et l'éditeur ex est devenu un lien pointant vers l'éditeur vi.

Lorsque le mode ex de l'éditeur vi est utilisé, il est possible d'afficher ou de modifier les paramètres, ainsi que d'exécuter des commandes liées aux fichiers comme l'ouverture, l'enregistrement ou l'abandon des modifications apportées à un fichier. Pour accéder au mode ex, tapez le caractère : en mode commande. Le tableau suivant répertorie certaines actions courantes effectuées en mode ex :

Saisie Résultat
:w Ecrire le fichier courant dans le système de fichiers
:w nom_de_fichier Enregistrer une copie du fichier actuel avec le nom du fichier spécifié
:w! Forcer l'écriture dans le fichier courant
:1 Aller à la ligne numéro 1 ou n'importe quel numéro suivant
:e nom_de_fichier Ouvrir le fichier dont le nom est spécifié
:q Quitter si aucun changement n'a été apporté au fichier
:q! Quitter sans enregistrer les modifications dans le fichier

Une analyse rapide du tableau ci-dessus révèle que si un point d'exclamation ! est ajouté à une commande, elle tente ensuite de forcer l'opération. Par exemple, imaginez que vous apportez des modifications à un fichier dans l'éditeur vi, puis essayez de quitter avec :q, seulement pour découvrir que la commande échoue. L'éditeur vi ne veut pas quitter sans enregistrer les modifications que vous avez apportées à un fichier, mais vous pouvez le forcer à quitter avec la commande ex :q!.

Réfléchissez à ceci

Bien que le mode ex offre plusieurs façons d'enregistrer et de quitter, ZZ est aussi disponible en mode commande; et est équivalent à :wq. Il existe de nombreuses fonctions qui se chevauchent entre le mode ex et le mode commande. Par exemple, le mode ex peut être utilisé pour naviguer jusqu'à n'importe quelle ligne du document en tapant : suivi du numéro de ligne, tandis que le G peut être utilisé en mode commande comme indiqué précédemment.

Veuillez noter :

Si vous avez un fichier texte ouvert, quittez-le en exécutant la commande :q!. Il se fermera sans enregistrer les modifications.

~
~
:q!_

   39 ?        00:00:00 sshd                                                    
   56 ?        00:00:00 named                                                   
   77 pts/0    00:00:00 login                                                   
   87 pts/0    00:00:00 bash                                                    
  621 pts/0    00:00:00 ps                                                      
sysadmin@localhost:~/Documents$ cow                                             
-bash: cow: command not found                                                   
sysadmin@localhost:~/Documents$ sudo apt-cache search vlc                       
[sudo] password for sysadmin:                                                   
^Csysadmin@localhost:~/Documents$ c                                             
-bash: c: command not found                                                     
sysadmin@localhost:~/Documents$                                                 
sysadmin@localhost:~/Documents$                                                 
sysadmin@localhost:~/Documents$                                                 
sysadmin@localhost:~/Documents$ sudo apt-cache search cow                       
cowsay - configurable talking cow                                               
sysadmin@localhost:~/Documents$ sudo nano /etc/apt/sources.list                 
sysadmin@localhost:~/Documents$ ls /var/www/debs/                               
amd64                                                                           
sysadmin@localhost:~/Documents$ ls /var/www/debs/amd64/                         
Packages.gz  cowsay_3.03+dfsg1-6_all.deb                                        
sysadmin@localhost:~/Documents$ passwd -S sysadmin                              
sysadmin P 12/20/2017 0 99999 7 -1                                              
sysadmin@localhost:~/Documents$                                                 
M