Parece que não há maneira adequada de inserir um Esc na linha de comando.
Enquanto em vi-insert mais alpha/numeric chaves são usadas. Esc é bem distante, e qualquer acorde (como Alt-j (que funciona)) parece mais complexo do que o desejado. Portanto, existe uma maneira de converter duas chaves em uma string configurável.
A solução funciona usando a ideia de Esta resposta
Basta adicionar isso a .inputrc :
set editing-mode vi
set vi-ins-mode-string \e[6 q
set vi-cmd-mode-string \e[2 q
set keymap emacs
"\ee": vi-editing-mode
"jk": "\eejk"
"kj": "\eejk"
set keymap vi-insert
"\ee": emacs-editing-mode
"jk": vi-movement-mode
"kj": vi-movement-mode
set keymap vi-command
"\ee": emacs-editing-mode
Por isso, independentemente de onde você inicia emacs ou vi , pressionar jk colocará você no modo de comando vi no início da linha .
Além disso, permite alternar para o modo emacs com Esc - e .