Подтвердить что ты не робот

Map jj в Esc в inputrc (readline)

Как я могу сопоставить jj с Esc в inputrc, чтобы его подхватили приложения с помощью GNU Readline (python, mongoshell,...)

все работает отлично на zsh, используя:

bindkey -M viins 'jj' vi-cmd-mode

это мой текущий inputrc:

set editing-mode vi
set keymap vi

# turn off the stupid bell
set bell-style none
$if mode=vi
    set keymap vi-command
    "gg": beginning-of-history
    "G": end-of-history
    #"jj": vi-movement-mode
    set keymap vi-insert
    "\C-w": backward-kill-word
    "\C-p": history-search-backward
$endif
4b9b3361

Ответ 1

Вы должны изменить порядок ввода, так что прокомментированная строка появится после set keymap vi-insert.

Вот так:

set bell-style none
$if mode=vi
    set keymap vi-command
    "gg": beginning-of-history
    "G": end-of-history
    set keymap vi-insert       #notice how the "jj" movement is
    "jj": vi-movement-mode     #after 'set keymap vi-insert'?
    "\C-w": backward-kill-word
    "\C-p": history-search-backward
$endif