Mode vi en shell

De Vim-fr

'Ceci n'a été testé que sous bash mais il se peut que cela marche aussi avec csh, zsh etc...

Dans un terminal le mode d'édition de la ligne de commande est, par défaut, le mode emacs (oui comme l'éditeur des gens bizarres avec 6 bras). Mais il existe un mode vi, bien moins utilisé, en partie parce que vi est prévu plus pour éditer un fichier texte en entier qu'une seul ligne. Il est également bien moins intuitif que le mode emacs, en partie parce qu'il intègre le principe des modes et ce sans indiquer dans quel mode on est, parce que sinon c'est pas marrant.

Pour entrer en mode vi il suffit d'entrer la commande suivante:

set -o vi

On retrouve la plupart des commandes de vi(m) ainsi que le mode édition et le mode commande simplifié. Pour conserver ce mode définitivement, insérer le : set -o vi dans votre ~/.bashrc si ce fichier n'existe pas (ce qui serait surprenant) créer le.

Liste de commandes

Cette liste n'a pas pour but de rescencer toutes les commandes existantes mais plutôt les plus utiles.

Commandes en mode édition
Commande Effet
<C-v> Efface le mot pécédent
<Esc> Entre en mode commande
cc Efface toute la ligne et entre en mode édition

Remarque

Si vous souhaitez retournez dans le mode par défaut de bash tapez simplement :

set -o emacs

Il existe également un mode "fc" qui ne sera pas détaillé ici, vu qu'il n'a rien a voir avec Vim


Plus d'info

Pour plus d'info sur le sujet vous pouvez lire les pages suivantes :

 * Productively in Bash’s Vi Command Line Editing Mode (en) un article introduction qui possède une table de résumé des commandes.
 * [vi editing mode (en) qui détaille plus ce mode, comment le customiser et l'activer dans d'autre programme dont readline et lftp