2. Vim : un éditeur de texte
2.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... et bien je vais vous expliquer comment fonctionne vim !
VIM signifie ViIMproved ; 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.2. Installer et configurer Vim
Il va falloir installer les packages permettant de faire marcher vim. Pour l'instant, vous ne savez pas encore installer des packages ; je vous propose donc de taper sans comprendre la commande suivante en root :
2.3. Se servir de vim
Pour éditer un fichier texte existant ou créer un nouveau fichier texte, il suffit de taper :
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 -- INSERT -- 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 -- REPLACE -- 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 -- VISUAL -- apparaît alors en bas de l'écran. Ce mode permet de sélectionner du texte pour y appliquer globalement des commandes.
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 pour enregistrer et quitter,
- :q! pour quitter sans enregistrer les modifications,
- :r pour inclure le contenu d'un autre fichier,
- /mot_clef pour faire rechercher un mot (n pour passer à l'itération suivante),
- :numéro_de_ligne pour aller directement à cette ligne,
- y nombre_de_lignes y (sans espace) pour copier ce nombre de ligne à partir du curseur (yy pour copier une ligne ou un groupe de mots en mode visuel),
- d nombre_de_lignes d (sans espace) pour couper ce nombre de ligne à partir du curseur (dd pour couper une ligne en mode commande ou un groupe de mots en mode visuel),
- p pour coller après le curseur,
- u pour annuler la dernière modification. Vous pouvez appuyer plusieurs fois sur u pour annuler les dernières modifications.
- Ctrl-r 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.
2.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 certain 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.