UNIX : L'éditeur vi

Qu'est-ce que le Vi ?

Le Vi est un puissant éditeur de texte ASCII sous UNIX. Il est compatible avec une majorité de terminaux, mais peut sembler d'un premier abord assez rébarbatif par l'utilisation du clavier pour toute intervention.

Présentation

Vi dispose de 2 modes :

  • un mode commande (mode par défaut)
  • un mode de frappe (ajout de texte dans le fichier)

L'appel de vi se fait de la façon suivante :

  • vi "fichier" ou fichier est le nom du fichier que l'on veut éditer.
  • Si ce fichier existe, alors on peut voir apparaître à l'écran son texte.

Commandes

Conventions:

  • n, n1, n2 = nombres quelconques.
  • ^X = touche <CTRL> X (X touche quelconque).
  • chaîne, chaîne1, chaîne2 = chaînes de caractères.

Passage du mode COMMANDE en mode FRAPPE

<i>
Insérer du texte à l'endroit où se trouve le curseur
<a>
Ajouter du texte après le curseur
<I>
Insérer du texte en début de ligne
<A>
Ajouter du texte en fin de ligne
<o>
Ajouter une nouvelle ligne sous la ligne courante
<O>
Ajouter une nouvelle ligne au dessus la ligne courante

Passage du mode saisie en mode COMMANDE

<ESC>
Passer en mode COMMANDE

Commandes de sortie / sauvegarde d'édition:(Mode commande)

:w
Sauver le texte
:w!
Forcer la sauvegarde
:q
Quitter sans modifier
:q!
Quitter après une modification que l'on ne désire pas sauvegarder
:wq
Sauver et quitter
:wq!
Forcer la sauvegarde et quitter

Commandes de Défilement du texte:(Mode commande)

<h> ou <BAKSPACE>
Déplacer le curseur vers la gauche
<j>
Déplacer le curseur d'une ligne vers le bas
<k>
Déplacer le curseur d'une ligne vers le haut
<:>n <RETURN>
Positionner le curseur sur la ligne n dufichier.Si n ='$' alors position en fin de fichier
<CTRL> <F>
Faire défiler le texte d'une page vers le bas
<CTRL> <U>
Faire défiler le texte d'une page vers le haut

Commandes de suppression de texte: (Mode commande)

<x>
Supprimer le caractère courant
<d>
Supprimer la ligne Courante
<j>
Déplacer la ligne située sous la ligne courante vers le dernier caractère de la ligne courante
n<x>
Supprimer n caractères à partir du caractère courant
n<d>
Supprimer n lignesà partir de la ligne courante

Autres commandes: (Mode commande)

<u>
Annuler la dernière commande
<CTRL> <G>
Afficher le nombre de ligne et le numéro de la ligne courante
</> "expression"
Rechercher la première occurrence de "expression" vers le bas
</> ou <n>
Rechercher l'occurrence suivante de "expression"

Commandes de déplacement du curseur (mode commande)

^F (Forward)
Faire défiler d'une page vers le bas
^U (Upward)
Faire défiler d'une page vers le haut
0(zéro)
Positionner le curseur en début de ligne
L
Positionner le curseur sur la dernière ligne de la page courante
M
Positionner le curseur sur la ligne centrale de l'écran courant
nG (Go)
Positionner le curseur sur la ligne n
H
Positionner le curseur sur la première ligne de la page courante
e
Positionner le curseur au début du mot courant
E
Positionner le curseur en fin du mot courant
nl
Avancer le curseur de n caractères
$ (End)
Avancer le curseur en fin de ligne
w(word)
Avancer le curseur d'un mot
nw
Avancer le curseur de n mots
nh
Reculer le curseur de n caractères
nW
Reculer le curseur de n mots
nj
Descendre le curseur de n lignes
nk
Remonter le curseur de n lignes

Commandes de passage en mode frappe de texte ( à la fin de ces commandes, passage en mode insertion)

O
Inserer une ligne blanche au dessus de la ligne courante
A (Append)
Ajouter des caractères en fin de ligne
I (Insert)
Insérer des caractères en début de ligne
o
Ajouter une ligne blanche au dessous de la ligne courante
a
Ajouter des caractères après le caractère courant
i
Insérer des caractères en avant le caractère courant

Commandes de modification du texte (mode commande)

J
Concaténer la ligne courante et la ligne en dessous
d$ (Del End)
Supprimer la fin de la ligne courante
u (Undo)
Annuler la dernière commande
nx (ex: 2x)
Supprimer n caractères
ndd (ex: 2dd)
Supprimer n lignes
dw
Supprimer de la position courante à la fin du mot courant
r (suivit du nouveau caractère)
Remplacer un seul caractère
R texte <ESC>
Remplacer plusieurs caractères
cw chaîne <ESC> (Change Word)
Remplacer un mot à partir de la position courante
C chaîne <ESC>
Remplacer jusqu' à la fin de ligne

Recherche et remplacement de chaîne de caractères (mode commande)

/chaîne
Rechercher une chaîne de caractère vers la fin du fichier
?chaîne
Rechercher une chaîne de caractère vers le début du fichier
n (Next)
Poursuivre la dernière recherche
:n1,n2 s/chaîne1/chaine2"/g
Remplacer lachaîne1 (toutes les occurrences de chaîne1) ,par la chaîne2 depuis la ligne n1 jusqu'à la ligne n2.
Si n2 est égal à $ alors on effectue le remplacement jusqu'à la fin du document.

Utilisation de la mémoire tampon (mode commande)

Y (Yank)
Pour copier la ligne courante dans le tampon
nY
Pour copier n lignes à partir de la ligne courante dans le tampon
yw
Pour copier le mot courant dans le tampon
y$
Pour copier la fin de la ligne courante dans le tampon
p (put)
Pour ajouter le contenu du buffer au dessous la ligne courante
P
Pour insérer le contenu du buffer au dessus de la ligne courante

Autres commandes en vrac

<CTRL> G
Pour avoir des informations sur le fichier courant (nom, position courante, fichier modifié ou non, nombre de lignes du fichier)
:e "fichier" (Edit)
Pour éditer un autre fichier, après avoir sauvegardé le fichier, courant sans sortir de vi
:e! "fichier"
Pour éditer un autre fichier, sans sauvegarder le fichier (abandon des modifications), courant sans sortir de vi
:q! (quit)
Pour sortir de vi sans sauvegarder le fichier courant
vi fic1 fic2 fic3 fic4
Pour éditer plusieurs fichiers (fic1 fic2 fic3 fic4)
:n (Next)
Pour passer au fichier suivant, après avoir sauvegardé le fichier courant
:n!
Pour passer au fichier suivant, sans sauvegarder le fichier courant
:se nu (set numbering)
Pour afficher le numéro des lignes
:se nonu
Pour enlever le numéro des lignes
:ts=n<RETURN> (Tabulation Size)
Pour changer le nombre n d'espace (8 par défaut)imprimés par la touche <TAB>
:se ai
Pour mettre en place le système d'auto indentation
:! "programme"
Pour exécuter depuis vi un programme externe
: set showmode
Pour afficher le mode courant de vi (Insertion , Ajout, etc.)
. (point)
Pour répéter la dernière commande
<CTRL> L
Rafraîchissement de l'écran quand le curseur ne semble pas être placé au bon endroit

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

7 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-112
Document créé le 19/03/02 11:17, dernière modification le Vendredi 17 Juin 2011, 11:12
Source du document imprimé : http://www.gaudry.be/unix-editeur-vi.html Document affiché 5 fois ce mois de Février.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15831 documents
451 astuces.
549 niouzes.
3099 definitions.
447 membres.
8114 messages.

Document genere en :
0,41 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Le lit est l'endroit le plus dangereux du monde : 99 % des gens y meurent.

Mark Twain
 
l'infobrol
Nous sommes le Jeudi 09 Février 2012, 22:56, toutes les heures sont au format GMT+1.00 Heure, heure d'hiver