Vim & autres éditeurs de codes pour terminaux de commande

vim pour VI iMproved est une version améliorée de l'éditeur vi qui, lui-même, était une version améliorée de l'éditeur Unix historique ed. Certain lui préférerons l'éditeur emacs qui présente une autre ergonomie. Si vous ne tenez pas à utiliser l'un de ces deux éditeurs de code source parmis les plus réputés au monde, vous pouvez vous rabattre sur nano ou micro, des éditeurs plus simple d'accès, mais moins efficace.

En résumé :

Pour plus d'information, vous pouvez consulter la page wikipedia dédié : https://fr.wikipedia.org/wiki/Guerre_d'éditeurs

Pour installer vim, emacs, nano ou micro :

sudo apt install vim vim-airline vim-airline-themes
sudo apt install emacs
sudo apt install nano
sudo apt install micro

Pour choisir l'éditeur a utiliser par défaut lorsqu'un fichier doit-être modifé, entrez la commande :

sudo update-alternatives --config editor

Pour choisir la version de vi a utiliser par défaut, entrez la commande :

sudo update-alternatives --config vi
sudo update-alternatives --config vim

Mini-aide vi

L'ouverture d'un fichier ce fait en appelant vi suivi de l'adresse du fichier :

vi /chemin/absolu/du/fichier
vi chemin/relatif/autre/fichier

VIM est un éditeur de texte modal, c'est à dire qu'il permet de passer d'un mode de fonctionnement à l'autre pour être performant dans chaque scénario. À l'ouverture d'un fichier, le mode « normal » est activé. Il permet de visualiser le document, d'y faire des recherche avec « / », d'entrer des commandes avec « : », et d'opérer certaine transformation du texte déjà présent.

Mode Normal

Navigation simple (si vous n'avez pas de flèche sur votre clavier, exemple : smartphone)

Navigation étendue

Edition

Recherche

Commande

Mode Insertion

Pour basculer en mode « insertion » appuyer simplement sur l'une des touches [i] ou [inser]. Vous pouvez alors utiliser vim comme n'importe quel autre éditeur de texte. Pour revenir au mode normal, il suffit de presser la touche [Echap].

Vous pouvez aussi basculer en mode insertion de façon particulière, par exemple pour remplacer à la volé un contenu entre parenthèse ou entre guillemet, il suffit de placer le curseur au dessus du texte à remplacer puis de saisir :

Mode Visual

Le mode visuel permet de sélectionner visuellement la zone d'action. Deux exemples :

Division de l'affichage, multi-fichier…

Enfin, vous pouvez diviser l'affichage en plusieur fenêtre :

D'autre mode existe tel que les modes Replace, Recorde…

Désactiver le passage automatique en mode visuel avec la souris

Pour éviter que le « mode visuel » de vim s'active lorsque vous essayer de coller du texte avec la souris dans un terminal de commande, vous pouvez modifier la configuration pour vous et pour l'utilisateur root comme suis :

echo "set mouse-=a" | tee -a ~/.vimrc
echo "set mouse-=a" | sudo tee -a /root/.vimrc

J'ai oublié sudo 😱 😭

Pas de panique, il y a une solution. Appuyer sur Echap pour revenir en mode « Normal » (commande). Ensuite entrer la commande suivante :

:w !sudo tee % >/dev/null

Après cette commande, Vim va demander à recharger le fichier qui a été modifié.

Explications :

Autrement dit, la mémoire tampon qui contient le fichier modifié est passée en argument à la commande tee qui bénéficie de l'élevation de privilège via sudo. La commande tee va alors afficher la mémoire tampon (inutilement, du coup >/dev/null) et la sauvegardé dans le fichier passé en argument (le fichier que l'on est en train d'édité).

Configuration de Vim prêt à l'emploi :

Voici un fichier de configuration de Vim qu'il suffit de placer à la racine de votre dossier personnel dans un fichier nommé .vimrc. Vous pouvez ensuite le copier sur chacune des machines que vous souhaitez configurer. Vous pouvez également copier ce fichier dans /root/.vimrc pour activer cette configuration lorsque vous utiliser sudo.

syntax on
set incsearch smartcase hls si mouse-=a tabstop=4 shiftwidth=4