Chapitre 16. Vim : un éditeur de texte

1. Un outil de base sous Linux
2. Installer et configurer Vim
3. Se servir de vim
4. Editer un fichier de configuration Unix

1. Un outil de base sous Linux

L'éditeur de texte est un outil de base sous Linux. Il sert notamment à modifier les fichiers de configuration du système. Les deux éditeurs de texte les plus connus et les plus utilisés sont Vim et Emacs. Et comme je ne connais pas Emacs, eh bien je vais vous expliquer comment fonctionne Vim !

vim signifie Vi IMproved : il s'agit d'une version améliorée du classique vi. Il est très complet, peu gourmand en ressources, et fait très bien la coloration syntaxique. Il n'est pas facile à maîtriser au début, mais vous serez rapidement conquis !

2. Installer et configurer Vim

Installation de Vim

Il va falloir installer les paquets permettant de faire marcher Vim. Pour l'instant, vous ne savez pas encore installer des paquets et je vous propose donc de suivre les instructions suivantes sans trop comprendre.

# aptitude install vim

Installation du fichier de configuration

Remplacez le fichier de configuration installé par défaut par mon fichier de configuration :

# cp ~/fichiers-config/vimrc /etc/vim/

ou, si vous ne suivez pas ma formation depuis le début :

% wget http://formation-debian.via.ecp.fr/fichiers-config/vimrc
# mv vimrc /etc/vim/

Ce fichier deviendra le fichier de configuration de Vim par défaut pour tous les utilisateurs. Un utilisateur pourra aussi utiliser son propre fichier de configuration en le mettant dans son répertoire personnel sous le nom .vimrc.

3. Se servir de vim

Pour éditer un fichier texte existant ou créer un nouveau fichier texte, il suffit de taper :

# vim nom_du_fichier

Figure 16.1. Vim

Vim

Tout d'abord, il faut comprendre qu'il existe plusieurs modes de fonctionnement :

  • Le mode Commande, dans lequel vous vous trouvez quand vous ouvrez Vim. Dans ce mode, vous tapez des commandes... que nous verrons plus loin ! Si vous êtes dans un autre mode et que vous voulez revenir au mode commande, tapez Echap.

  • Le mode Insertion auquel on accède par la touche Inser. L'indicateur -- INSERTION -- apparaît alors en bas de l'écran. Dans ce mode, vous insérez du texte classiquement.

  • Le mode Remplacement auquel on accède en appuyant une deuxième fois sur Inser. L'indicateur -- REMPLACEMENT -- apparaît alors en bas de l'écran. Dans ce mode, le texte entré remplace le texte présent sous le curseur.

  • Le mode Visuel auquel on accède par la touche v depuis le mode Commande. L'indicateur -- VISUEL -- apparaît alors en bas de l'écran. Ce mode permet de sélectionner du texte pour y appliquer globalement des commandes.

Figure 16.2. Comment passer d'un mode à un autre ?

Comment passer d'un mode à un autre ?

Voici une liste des commandes les plus utilisées. Il faut bien entendu être en mode Commande pour les taper :

  • :h pour accéder à l'aide ;

  • :w pour enregistrer ;

  • :w nom_du_fichier pour faire enregistrer-sous nom_du_fichier ;

  • :q pour quitter ;

  • :wq ou :x pour enregistrer et quitter ;

  • :q! pour quitter sans enregistrer les modifications ;

  • :r pour inclure le contenu d'un autre fichier ;

  • /mot_clef pour rechercher un mot vers le bas du texte (n pour passer à l'occurrence suivante, N pour passer à la précédente) ;

  • ?mot_clef pour rechercher un mot vers le haut du texte (n pour passer à l'occurrence suivante, N pour passer à la précédente (donc vers le bas)) ;

  • :numéro_de_ligne pour aller directement à cette ligne ;

  • nombre_de_lignes yy (sans espace) pour copier ce nombre de lignes à partir du curseur (yy pour copier une ligne et y pour copier un groupe de mots en mode visuel) ;

  • nombre_de_lignes dd (sans espace) pour couper ce nombre de lignes à partir du curseur (dd pour couper une ligne en mode commande et d pour couper un groupe de mots en mode visuel) ;

  • p pour coller après le curseur, P pour coller avant le curseur ;

  • u pour annuler la dernière modification. Vous pouvez appuyer plusieurs fois sur u pour annuler les dernières modifications ;

  • Ctrl+r ou :redo pour annuler la dernière annulation. Vous pouvez renouveler la combinaison de touches pour annuler les annulations antérieures ;

  • :%s/toto/tata/g pour remplacer toutes les occurrences de la chaîne de caractères toto par la chaîne de caractère tata.

Pour plus d'informations sur Vim, je vous invite à consulter le wiki francophone sur Vim.

4. Editer un fichier de configuration Unix

Sous Unix, et en particulier sous Linux, la configuration du système et des programmes se fait très souvent en éditant des fichiers textes qui contiennent des paramètres de configuration. Ces paramètres de configuration suivent une certaine syntaxe, différente pour chaque programme, et que l'utilisateur doit connaître. Généralement, il y a une instruction de configuration par ligne de texte. Le système ou le programme va alors lire son ou ses fichier(s) de configuration et s'adapter à la configuration demandée.

Presque tous les programmes et systèmes Unix sont conçus avec une règle qui dit qu'il ne tient pas compte des lignes du fichier de configuration qui commencent par un certain caractère (souvent #). L'utilisateur peut alors mettre des lignes de commentaires dans le fichier de configuration en commençant ces lignes par le caractère particulier. Il peut aussi facilement activer ou désactiver une ligne du fichier de configuration en enlevant ou en ajoutant le caractère particulier au début de la ligne. Le fait de désactiver ainsi une ligne de configuration se dit « commenter une ligne » et le fait d'activer ainsi une ligne de configuration se dit « décommenter une ligne ». Ces expressions seront régulièrement utilisées dans la suite de cette formation.

[Note] Note

Quand vous éditez un fichier de configuration existant, il est généralement très facile de savoir quel est le caractère particulier : les lignes de commentaires sont nombreuses, contiennent souvent des phrases rédigées et apparaissent normalement en rouge sous Vim.