Я хочу переключиться в режим редактирования vi в среде readline. Но я не хочу использовать «set -o vi». Я хочу временно переключиться с помощью сочетания клавиш. Страница руководства говорит, что я могу сделать это с M-C-j. Но это не работает для меня.
Я использую Ubuntu и Xterm. Также не работает под Gnome-терминалом.
ESC E
. Если вы сделаете паузу, вы перейдете из режима vi-insert в режим vi-command или просто отмените текущую команду vi.Bash явно отключает этот и несколько других ярлыков Readline. Смотрите
initialize_readline()
функцию в исходном коде bash ( http://www.catonmat.net/download/bashline.c ):Кажется, я не могу переопределить это поведение с помощью файла конфигурации Readline (.inputrc).
источник
Вот что я в итоге использовал для своего
~/.inputrc
, основываясь на ответе slm.Я попробовал
$if mode=
синтаксис, но я думаю, что он разрешается статически (один раз при чтении файла), поэтому он не работает так, как я ожидал. Поэтому нам нужно переключиться на каждую раскладку клавиш и изменить ее привязки клавиш, даже если ранее они были установлены на других раскладках клавиш. В конце я говорю, с какого режима я хочу начать.источник
Я пытался использовать отображения в стиле emacs в режиме vi. Я закончил с:
Полезно прочитать страницу
readline
руководства иREADLINE
раздел наbash
странице руководства .источник