|
éditeur de texte
1. Qu'est ce que vi
vi est un des éditeurs de textes les plus puissants...
Il n'est pas en mode graphique dans sa version standard (on en trouve des versions "améliorées" qui
apportent souvent une interface graphique mais qui perdent souvent en fonctionnalités).
vi est donc très puissant, mais pourquoi ? Je vais ici présenter certaines de ses
fonctionnalités, ainsi que ses raccourcis clavier les plus pratiques et les plus utiles.
La spécificité de vi réside essentiellement dans la possibilité de l'utiliser dans 2 modes
différents : mode édition, mode commande.
Le mode édition permet de modifier le fichier, d'ajouter des caractères...
Le mode commande permet lui d'executer des commandes spécifiques (recherche de chaines, enregistrement...)
2. Fonctionnement de base avec vi
Voici le tableau des commandes de bases pour savoir se servir de vi. Juste après le tableau, il y a quelques
explications qui peuvent vous être utile...
Toutes ces commandes sont utilisées en mode commande, sauf si une précision est faite...
Ouverture du fichier nom_fichier (shell) |
$ vi nom_fichier |
Ouverture des fichiers nom_fich* (shell) |
$ vi nom_fich* |
Passer en mode commande (commande ou édition) |
[Esc] |
Enregistrer le fichier en cours d'utilisation |
:w ou :w! |
Enregistrer le fichier en cours d'utilisation sous un nouveau nom |
:w nouveau_nom |
Quitter |
:q ou :q! |
Passer en mode insertion à l'endroit du curseur |
i |
Passer en mode insertion juste après le curseur |
a |
Passer en mode insertion à la fin de la ligne |
A |
Passer en mode insertion au début de la ligne |
I |
Aller à la fin de la ligne en restant en mode commande |
$ |
Aller au début de la ligne en restant en mode commande |
0 |
Modifier le caractère sur lequel se trouve le curseur |
r |
Modifier tous les caractères jusqu'à appuie sur [Esc] |
R |
Effacer le caractère sur lequel se trouve le curseur |
x |
Effacer la ligne sur laquelle se trouve le curseur |
dd |
Comment marche le mode commande
Après avoir taper sur la touche "Esc" de votre clavier, il vous suffit de taper la sequence de caractère qui vous intéresse.
Par exemple, si vous voulez quitter vi, il vous suffit de taper sur ":q"
A quoi sert le "!"
Il permet de forcer une action. Par exemple, un fichier en lecture seule ne sera pas enregistré avec
l'utilisation unique de :w, il faut alors utiliser :w!, et si vous pouvez enregistrer (par exemple si vous êtes
root, ou le propriétaire du fichier), vous pourrez alors écrire dedans...
Les majuscules et les minuscules n'ont pas la même signification
3. Fonctionnement plus complexe avec vi
3. 1. Fonctions de recherche / remplacement
Rechercher un mot dans le fichier après le curseur (en avant) |
/mot_cherché |
Rechercher un mot dans le fichier avant le curseur (en arrière) |
?mot_cherché |
Passer à l'occurence suivante dans le sens de la recherche |
n |
Revenir à l'occurence précédente dans le sens de la recherche |
p |
Remplacer l'expression "coucou" par "bonjour" de la ligne 12 à la ligne 18 |
:12,18 s/coucou/bonjour/g |
Remplacer l'expression "coucou" par "bonjour" dans tout le fichier |
:1,$ s/coucou/bonjour/g |
Remplacer l'expression "Test_1;" ou "Test_124;" par "Test_52" dans tout le fichier en utilisant les expressions régulières |
:%s/Test_[0-9]*;/Test_52;/g |
Subtilités
Passer à l'élément suivant dans la recherche (avec le "n") signifie aller plus loin dans le fichier avec une recherche
vers l'avant, et remonter davantage avec une recherche en arrière.
On remarque que la dernière ligne du fichier porte la "valeur" "$"...
3. 2. Effacement et modification
Effacer le mot courant à partir de la position du curseur et passe en mode insertion |
cw |
Effacer le mot courant à partir de la position du curseur et reste en mode commande |
dw |
Effacer la fin de la ligne à partir de la position du curseur et passe en mode insertion |
SHIFT + c |
Effacer la fin de la ligne à partir de la position du curseur et reste en mode commande |
SHIFT + d |
Effacer la ligne courante et passe en insertion |
SHIFT + s |
Supprime la fin de ligne de la ligne courante et remonte la ligne suivant d'un cran |
SHIFT + j |
3. 3. Fonctions de copier/coller
Dupliquer la ligne sur laquelle se trouve le curseur |
yyp |
Dupliquer n fois la ligne sur laquelle se trouve le curseur |
yyp |
Copier la ligne sur laquelle se trouve le curseur |
yy |
Couper la ligne sur laquelle se trouve le curseur |
dd |
Couper les n lignes à partir de celle ou se trouve le curseur |
ndd (ex: 5dd) |
Coller le tampon au dessus de la ligne courante, avant le caractère pour les mots |
P |
Coller le tampon en-dessous de la ligne courante, après le caractère pour les mots |
p |
3. 4. Fonctions de Déplacement
Passer à la page suivante |
[Ctrl]+F |
Revenir à la page précédente |
[Ctrl]+B |
Aller à la dernière ligne du fichier |
G |
Aller à la n-ième ligne du fichier |
nG |
Aller à la première ligne du fichier (exemple) |
1G |
Aller à la fin du mot, passer au mot suivant |
w |
Aller au début du mot, passer au mot précédent |
b |
3. 5. Fonctions diverses
Annuler la dernière commande |
u |
Refaire la même opération (pratique pour l'ajout d'un caractère en début de plusieures lignes...) |
. (point) |
Faire +1 sur la première valeur numérique de la ligne courante |
CTRL + A |
Afficher les caractères masqués |
:set list |
Masquer les caractères masqués |
:set nolist |
4. Problèmes possible avec vi
4. 1. Ouverture de fichier
De manière à éviter l'ouverture multiple d'un même fichier sous "vi" simultanément, un fichier portant
le même nom que le fichier ouvert, avec en plus un point "." devant son nom est ajouté. Ce fichier sert
également de sauvegarde pour le fichier ouvert.
Si vous avez planté alors que le fichier était en cours d'édition, vous n'avez qu'à supprimer ce fichier
pour y avoir à nouveau accès.
Cette vérification n'est pas toujours faite.
4. 2. Appuie sur CTRL+S
CTRL+S permettant souvent d'enregistrer dans la majorité des logiciels, il arrive qu'on appuie dessus par erreur.
Sous unix, cette commande signifie en gros un "Stop". On se retrouve alors bloqué.
Pour se débloquer, il suffit de faire un "CTRL+Q" qui repasse en mode standard, on retrouve donc la main !
4. 3. Appuie sur SHIFT+Q
L'appuie sur "SHIFT+Q" entraine une saise en mode commande dans vi. Le seul moyen pour ressortir de ce mode
est de taper la commande "visual", juste après les ":". Ainsi, vous retournerez à l'utilisation correcte de "vi" !
Page modifiée le : 04/10/2024
| |