Je souhaite passer en mode d'édition vi dans un environnement de ligne de lecture. Mais je ne veux pas utiliser 'set -o vi'. Je souhaite basculer temporairement à l'aide d'un raccourci clavier. La page de manuel indique que je peux le faire avec M-C-j. Mais ça ne marche pas pour moi.
J'utilise Ubuntu et un xterm. Ne fonctionne pas non plus sous gnome-terminal.
ESC E
. Si vous faites une pause, vous passerez du mode vi-insert au mode vi-command, ou annulerez simplement la commande vi actuelle.Bash désactive explicitement cela et quelques autres raccourcis Readline. Voir la
initialize_readline()
fonction dans le code source bash ( http://www.catonmat.net/download/bashline.c ):Je ne semble pas pouvoir remplacer ce comportement en utilisant le fichier de configuration Readline (.inputrc).
la source
Voici ce que j'ai fini par utiliser pour moi
~/.inputrc
, basé sur la réponse de slm.J'ai essayé la
$if mode=
syntaxe, mais je pense que cela est résolu statiquement (une fois, lors de la lecture du fichier), donc cela ne fonctionne pas comme je m'y attendais. Nous devons donc basculer sur chaque image clé et modifier ses raccourcis clavier, même s'ils ont été précédemment définis sur d'autres images clés. À la fin, je dis avec quel mode je veux commencer.la source
J'ai essayé d'utiliser des mappages de style emacs en mode vi. Je me suis retrouvé avec:
Il est utile de lire la page de manuel
readline
et laREADLINE
section de labash
page de manuel.la source