Quero mudar para o modo de edição vi em um ambiente de linha de leitura. Mas não quero usar 'set -o vi'. Quero mudar temporariamente usando um atalho de teclado. A página de manual diz que eu posso fazer isso M-C-j. Mas isso não funciona para mim.
Estou usando o Ubuntu e um xterm. Também não funciona no terminal gnome.
ESC E
. Se você pausar, passará do modo vi-insert para o comando vi, ou apenas cancelará o comando vi atual.O Bash desativa explicitamente esse e alguns outros atalhos do Readline. Veja a
initialize_readline()
função no código-fonte do bash ( http://www.catonmat.net/download/bashline.c ):Não consigo substituir esse comportamento usando o arquivo de configuração Readline (.inputrc).
fonte
Aqui está o que eu acabei usando para o meu
~/.inputrc
, com base na resposta do slm.Tentei a
$if mode=
sintaxe, mas acho que isso é resolvido estaticamente (uma vez, ao ler o arquivo), para que não funcione como eu esperava. Portanto, precisamos mudar para cada mapa de teclas e modificar suas associações de teclas, mesmo se definidas anteriormente em outros mapas de teclas. No final, eu digo com qual modo eu quero começar.fonte
Tentei usar mapeamentos no estilo emacs no modo vi. Acabei com:
É útil ler a página de manual
readline
e aREADLINE
seção nabash
página de manual.fonte