É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'éditeurvi
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 vi
original, 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 h
j
k
l
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!_