L'éditeur de texte "VI" ne fait pas partie des éditeurs les plus évolués et les plus conviviaux. Par contre c'est un standard sur tous les système UNIX. C'est-à-dire que quelque soit la version et le fournisseur du système que vous utilisez, "VI" est implanté. Il est très puissant pour travailler sur des fichiers systèmes (application de filtres...) et ne nécessite que très peu de ressources. En outre les directives de "VI" sont souvent utilisables dans des commandes UNIX (less, more, sed.......)
Commandes générales pour démarrer, quitter et annuler
Lancement de l'éditeur (le nom est optionnel) Sauvegarde (le nom est optionnel) :w
Sortie
Sans modification et sans sauvegarde :q Après modification et sans sauvegarde :q! Avec sauvegarde ZZ ou :x ou :wq
Divers
Annuler la dernière commande u Répéter la dernière commande . Exécuter n (par ex. 10) fois une commande (par ex. dd) 10dd Réafficher l'écran CTRL Appliquer un filtre (par ex trier par ordre alphabétique les lignes de 5 à 10 dans le texte) :5, 10 ! sort
Directives
Une directive c'est un ou plusieurs caractères. Une fin de directive c'est soit fin implicite, soit la touche ESC
Directive avec fin implicite
$ positionnement en fin de ligne yy copie la ligne courante dans un tampon nyy copie n lignes dans un tampon p copie la tampon après la ligne courante x suppression du caractère courant dw suppression du mot courant dd suppresion de la ligne courante /chaine recherche de l'occurence d''une chaine
Directives avec sortie par ESC
i insertion avant le curseur a ajout apres le curseur
Mode commande
On accède au mode commande (dernière ligne de l'écran) en tapant le caractère (:).
Les commandes autorisées sont:
n1: aller à la ligne n1 $ : aller à la derniere ligne d: détruire la ligne courante n1, n2d : supprimer les lignes n1 à n2 m n : déplacer la ligne courante en ligne n !commande : appeller une commande UNIX r : lire un fichier et l'insérer à la ligne courante
Excercice
Utiliser la commande de substitution pour remplacer partout dans le texte "/bin/bahs/"
Commande: :%s/\/bin\/bash/\/bin\/csh/g
Appeller la commande "man vi" sans quitter l'éditeur
commande: !man vi