Guide de SUR-VI (Utilisation de vi)
Table des matières
L’éditeur de texte vi permet d’éditer les fichiers de configuration des différents programmes et fonctionnalités. Il fonctionne en mode texte, son fonctionnement peut paraître déroutant au premier abord…
Voici un petit guide de sur-vi qui est loin de présenter toutes les fonctionnalités de vi mais permet néanmoins d’éditer les fichiers dans de bonnes conditions.
Sous vi, il faut distinguer 2 modes : le mode commandes et le mode édition.
C’est le mode par défaut lorsque vi s’ouvre. Ce mode ne permet pas de taper du texte. Pour entrer dans le mode commande, appuyer sur la touche Echap.
Le mode édition permet de taper du texte et d’effacer le caractère sous le curseur avec la touche Suppr.
Pour entrer dans le mode édition, deux choix possibles :
Pour quitter le mode édition, appuyer sur la touche Echap. On se retrouve alors en mode commandes.
vim est un éditeur de texte similaire à vi mais présente plus de fonctionnalités, comme la coloration syntaxique, ou le déplacement dans l'éditeur avec les flèches directionnelles au lieu de hjkl
Par défaut, la coloration syntaxique de vim peut ne pas être terrible (commentaires bleu très foncé).
Vous pouvez changer les couleurs avec la commande :color theme
Pour lister les thèmes (remplacer le 81 par la version de vim) :
Personnellement, j'aime bien le thème desert (couleurs similaires à nano).
Pour rendre persistantes les informations, on peut éditer le fichier ~/.vimrc et y ajouter les lignes tapées.
Pour remplacer du texte sur 1 ligne :
Pour remplacer 1 mot par un autre dans tout le fichier :
Lorsqu’un fichier est édité sur un système Windows/DOS à la fin de chaque ligne le caractère « ^M » apparait.
Si vous souhaitez supprimer ce caractère sur l’ensemble du fichier avec l’éditeur vi voici la commande à utiliser:
Il ne faut pas saisir ^M mais procéder ainsi :
Introduction
L’éditeur de texte vi permet d’éditer les fichiers de configuration des différents programmes et fonctionnalités. Il fonctionne en mode texte, son fonctionnement peut paraître déroutant au premier abord…
Voici un petit guide de sur-vi qui est loin de présenter toutes les fonctionnalités de vi mais permet néanmoins d’éditer les fichiers dans de bonnes conditions.
Sous vi, il faut distinguer 2 modes : le mode commandes et le mode édition.
Le mode commandes
C’est le mode par défaut lorsque vi s’ouvre. Ce mode ne permet pas de taper du texte. Pour entrer dans le mode commande, appuyer sur la touche Echap.
Le déplacement
- Aller en début de ligne → 0
- Aller en fin de ligne → $
- Ligne précédente (ou monter) → k
- Ligne suivante (ou descendre) → j
- Caractère précédent (ou aller à gauche) → h
- Caractère suivant (ou aller à droite) → l
- Mot précédent → b
- Mot suivant → w
- Page précédente → Ctrl+B (ou Page précédente avec vim)
- Page suivante → Ctrl+F(ou Page suivante avec vim)
- Aller à la ligne n → ngg ou nG (où n est le numéro de ligne)
- Aller à la première ligne : gg
- Aller à la dernière ligne → G
Quitter / Enregistrer
- Enregistrer SANS quitter → :w
- Quitter en enregistrant les modifications → :wq ou:x
- Quitter sans enregistrer les modifications → :q!
Insertion
- Activer le mode insertion → i
- Insérer au début de la ligne → I (i majuscule)
- Activer le mode insertion, un caractère après le curseur → a
- Insérer en fin de ligne → A
- Insérer une ligne (en dessous du curseur) → o
- Insérer une ligne (au dessus du curseur) → O
- Quitte le mode insertion → Echap
Remplacer
- Remplacer le caractère sous le curseur → r
- Remplacer avec le texte saisi → R
- Effacer la suite e la ligne et passer en mode insertion → C
- Quitte le mode remplacement → Echap
Copier / Couper / Coller
- Copier la ligne courante → yy
- Copier n lignes à partir de la ligne courante → nyy (Remplacer n par un nombre)
- Coller (ligne en dessous le curseur) → p
- Coller (ligne au dessus le curseur) → P
- Couper la ligne courante → dd
- Couper n lignes à partir de la ligne courante → ndd (Remplacer n par un nombre)
Effacer
- Effacer le caractère courant → x
- Effacer la ligne courante → dd
- Effacer n lignes à partir de la ligne courante → ndd (Remplacer n par un nombre)
- Effacer le mot sous le curseur → dw
Rechercher
- Appuyer sur la touche / puis taper la chaîne à rechercher. Appuyer sur la touche Entrée. Appuyer sur la touche n pour aller à l’occurrence suivante, N pour l’occurrence précédente.
- Recherche en avant du mot texte → /texte
- Recherche en arrière du mot texte → ?texte
- Aller à l'occurrence suivante → n
- Aller à l'occurrence précédente → N
Divers
- Annuler la dernière action → u
- Modifier la casse du caractère → ~ (la tilde avec AltGR+2)
Le mode édition
Le mode édition permet de taper du texte et d’effacer le caractère sous le curseur avec la touche Suppr.
Pour entrer dans le mode édition, deux choix possibles :
- Appuyer sur i pour insérer du texte (le texte tapé sera alors inséré au niveau du curseur)
- Appuyer sur a pour ajouter du texte (le texte tapé sera alors inséré juste après le curseur)
Pour quitter le mode édition, appuyer sur la touche Echap. On se retrouve alors en mode commandes.
Commandes utiles utilisables dans vim
vim est un éditeur de texte similaire à vi mais présente plus de fonctionnalités, comme la coloration syntaxique, ou le déplacement dans l'éditeur avec les flèches directionnelles au lieu de hjkl
Les commandes avancées du mode commandes
- Afficher les numéros de ligne → :set number ( pour désactiver → :set nonumber )
- Afficher la coloration syntaxique → :syntax on ( pour désactiver → :syntax off )
- Entrer et sortir du mode "paste" (coller un texte indenté) → :sset paste ( pour désactiver → :set nopaste )
Changer la coloration syntaxique
Par défaut, la coloration syntaxique de vim peut ne pas être terrible (commentaires bleu très foncé).
Vous pouvez changer les couleurs avec la commande :color theme
Pour lister les thèmes (remplacer le 81 par la version de vim) :
Code BASH :
ls /usr/share/vim/vim81/colors/
Personnellement, j'aime bien le thème desert (couleurs similaires à nano).
Rendre persistantes les données
Pour rendre persistantes les informations, on peut éditer le fichier ~/.vimrc et y ajouter les lignes tapées.
Code BASH :
:color desert :set number
Quelques commandes complexes
Remplacer du texte
Pour remplacer du texte sur 1 ligne :
Code BASH :
:s/ancienmot/nouveaumot/g
Pour remplacer 1 mot par un autre dans tout le fichier :
Code BASH :
:%s/ancienmot/nouveaumot/g
Supprimer le caractère ^M avec vi
Lorsqu’un fichier est édité sur un système Windows/DOS à la fin de chaque ligne le caractère « ^M » apparait.
Si vous souhaitez supprimer ce caractère sur l’ensemble du fichier avec l’éditeur vi voici la commande à utiliser:
Code BASH :
:%s/^M/\r/g
Il ne faut pas saisir ^M mais procéder ainsi :
Code BASH :
:%s/[ctrl+V][ctrl+M]/\r/g
/* Vrac à ranger */
Code TEXT :
--
Enregistrer un fichier systeme si on n'a pas les droits root : :w !sudo tee % Colorer toutes les occurences d'un mot : * dessus Y enlever : :noh Exécuter un script bash dans vim : :! ./% Insérer le résultat de iconfig dans vim en dessous de la ligne courante ; :r ! ifconfig