10_commandements

L'utilisation d'un éditeur de texte remonte à la nuit des temps. Bien sûr, la technologie à évolué mais le principe reste le même..




Les habitués à Vi et Vim trouveront sur ce lien un résumé des commandes les plus usitées.

Mais, pour ceux (et celles) qui découvrent Vi, je vous propose une méthode un peu différente de celles que vous trouverez par ailleurs sur la toile. Une introduction à L'éditeur Vi (ou Vim) par le biais de 4 petits exercices de moins d'une minute chacun..

Ça vous tente ? Alors oubliez tous les raccourcis clavier que vous avez l'habitude d'utiliser et essayez de jouer le jeu..


Note : Si vous êtes sous CentOS, vous avez sous la main tout ce qu'il faut. En revanche, pour les utilisateurs d'Ubuntu et autre Debian modifiées, vérifiez que "vim-tiny" n'est pas installé par défaut et si c'est le cas, remplacez le par un véritable éditeur de texte en ligne de commande :

# apt-get install vim
# apt-get remove vim-tiny




Pour commencer, ouvrez un terminal et rendez vous dans votre dossier personnel, de manière à travailler dans une zone dédiée (on ne passe pas en root) :

# cd ~/.



1er exercice

  • Nous allons commencer par créer un fichier. Pour une meilleure compréhension, nous l'appellerons "monfichier.txt". Lorsque vous ouvrez un fichier avec Vi, celui-ci le créé automatiquement s'il n'existe pas et l'affiche dans votre terminal. Donc :
# vi monfichier.txt



capture_vi_1

Notez la présence du curseur en haut à gauche de l'affichage, tandis que le nom du fichier apparait en bas à gauche avec la mention "nouveau fichier". Ce qui est logique puisqu'il n'existait pas. A l'ouverture d'un fichier (existant ou pas), Vi est dans un mode généralement appelé "commande". Contrairement aux éditeurs fenêtrés, il n'est pas prêt à ajouter du texte immédiatement. Il attend que vous lui indiquiez ce que vous souhaitez faire..



  • A présent, appuyez une fois (une seule) sur la touche "a" de votre clavier. La mention en bas à gauche change. Vous venez de passer en mode "insertion". C'est à dire que vous signalez à Vi que vous souhaitez écrire dans le fichier, à partir de l'endroit ou se situait le curseur.


capture_vi_2


  • Comme dans n'importe quel éditeur de texte, tapez quelques mots (pas de copier/coller n'est ce pas ?), puis touche "entrée" pour aller à la ligne, puis quelques mots de plus :


capture_vi_3


  • Enfin, appuyez sur la touche "echap" (ou "esc" selon votre clavier) pour quitter le mode "insertion". Le curseur se place automatiquement sur le dernier caractère que vous venez de taper. Vous êtes revenu(e) en mode "commande". Appuyez sur la touche ":" (deux points verticaux), puis la touche "w", puis la touche "!". Notez que ces caractères s'affichent en bas à gauche lors de la frappe (en mode commande) et appuyez sur la touche "entrée" pour valider. Ces trois derniers caractères vous permettent d'enregistrer votre fichier texte sans quitter Vi.


capture_vi_4


  • Vi vous indique maintenant (toujours en bas à gauche), le nombre de lignes et de caractères que contient votre fichier.


capture_vi_5


  • Nous allons quitter (fermer) Vi, avec une nouvelle suite de caractères qui sont les touches ":" (deux points verticaux) puis "q" suivies de "!" et enfin "entrée" :


capture_vi_6


  • Votre fichier texte a été créé et enregistré. Il doit contenir les deux lignes que vous avez tapé. On vérifie :
# cat monfichier.txt
le chien est dans la maison.
le chat est sur mes genoux.




  • Dans ce petit exercice, vous avez appris à ouvrir (ou créer) un fichier avec Vi, à insérer un peu de texte à l'intérieur et à l'enregistrer. Il convient de noter également que la plupart des commandes de traitement commencent par ":" (deux points verticaux).
  • Au besoin, effacez votre fichier et recommencez depuis le début, avant de passer à l'exercice suivant :
# rm monfichier.txt




Exercice 2


  • Aïe! Nous avons oublié une ligne à la fin du fichier. Reprenons donc celui-ci avec Vi :
# vi monfichier.txt


  • Utilisez les flèches de votre clavier (haut, bas, droite, gauche) pour vous déplacer dans le texte affiché par Vi, rendez vous tout à la fin de la seconde ligne et appuyez sur la touche "a" pour passer en mode "insertion" :


capture_vi_7


  • Appuyez sur la touche "entrée" pour passer à la ligne suivante et rajouter le texte "Ils ne sont pas amis.". Quand ce sera fait, appuyez sur "Echap" (ou ESC) pour revenir en mode "commande" puis enregistrez et quittez Vi en une seule commande avec la suite de touches ":wq!" :


capture_vi_8


  • Dans ce second exercice, vous avez effectué un déplacement simple dans Vi, ajouté une ligne de texte et cumulé deux commandes en une seule, c'est à dire enregistrer et quitter Vi en même temps (via la suite ":wq!").
  • Comme pour le premier, si vous avez un doute, effacez votre fichier et recommencez depuis le début (exercice 1) :
# rm monfichier.txt




Exercice 3


  • Votre fichier donne quelques informations, mais il est incomplet. En effet, il n'y a pas la couleur du soyeux pelage de vos animaux. Rappelez donc le fichier avec Vi :
# vi monfichier.txt


  • Comme précédemment, déplacez vous à l'aide des flèches du clavier en restant sur la première ligne et placez votre curseur sur la lettre "e" du mot "est" :


capture_vi_9


  • Cette fois ci, au lieu d'appuyer sur "a", pressez plutôt la touche "i" pour passer en mode insertion. La différence est notable, l'insertion commence avant le curseur si l'on utilise "i", elle commence après si l'on utilise "a". Insérez la couleur du chien (donc le mot blanc) suivi d'un espace, avant de quitter le mode "insertion" comme vous savez le faire maintenant (touche "echap") :


capture_vi_10


  • Utilisez à nouveau les flèches pour vous déplacer et procédez de même pour la couleur du chat (noir le chat). Enfin, enregistrez et quittez avec la commande ":wq!" :


capture_vi_11


  • Vous savez à présent insérer du texte. Rappelez vous la différence entre l'insertion touche "a" et l'insertion touche "i"..




Dernier petit exercice


  • Vous vous êtes trompés. En fait, vos deux animaux sont copains. Ouvrez une dernière fois votre fichier, déplacez vous à la dernière ligne et posez votre curseur sur la lettre "n" du mot "ne". Ne passez pas en mode "insertion". Appuyez sur la touche "x" de votre clavier. Une première pression va supprimer le "n", une seconde le "e", une troisième l'espace en trop :


capture_vi_12


  • Reproduisez la manip sur le mot "pas" (et l'espace) et enregistrez/fermez votre travail (:wq!) :


capture_vi_13


  • Une petite vérification du résultat devrait vous donner le texte ci-dessous. Vous savez à présent supprimer des caractères avec l'éditeur Vi. Notez que pour supprimer toute une ligne, il suffit de ce placer sur cette dernière et taper "dd" :
# cat monfichier.txt


le chien blanc est dans la maison.
le chat noir est sur mes genoux.
Ils sont amis.







En résumé


Nous pourrions continuer assez longtemps s'il fallait passer en revue toutes les commandes essentielles de Vi. Fort heureusement, si vous avez saisi la logique des manipulations ci dessus, vous ne devriez avoir aucun mal à appliquer celle ci aux autres commandes de Vi (comme la recherche ou le remplacement).

L'important, c'est de garder à l'esprit les deux modes principaux (commande ou insertion). Vous apprendrez ci après qu'il y en a un troisième, appelé Sélection , facile à appréhender puisque assez proche de la surbrillance dans un fichier texte en mode fenêtré.


Rappel des trois modes dans Vi :

  • Le mode commande : C'est l'état par défaut lors de l'ouverture, certaines touches comme ":" ou "/" permettent d'effectuer des requêtes (commandes) de recherche ou de remplacement, pour peu qu'elles soient suivies des caractères recherchés ou à remplacer.
  • Le mode insertion : Quand il faut modifier une partie du texte, ajouter ou insérer une ligne, c'est le mode qui convient. La touche "a" vous place en mode insertion après le caractère sur lequel vous vous trouvez. La touche "i" vous place en mode insertion avant le caractère sus nommé.
  • Le mode Sélection : Par exemple, si vous mettez en surbrillance une partie du texte affiché dans Vi, il sera automatiquement disponible via le copier/coller du clic central (roulette) de votre souris.





Bonne (re ?) découverte de Vi.



Lien utiles :





Vous pouvez commenter ou participer à l'amélioration de cet article via le topic dédié du forum.