readline:バインディングを使用してキーマップを「emacs」から「vi-command」に変更するには?

readline:バインディングを使用してキーマップを「emacs」から「vi-command」に変更するには?

emacsBash(4.3.11(1) - リリース)では、キーマップをキーマップに直接変更できるようにしたいですvi-command

を使用すると、私のプレフィックス文字をからにshow-mode-in-prompt on変更する必要があります。@:

そのコマンドを使用すると、vi-movement-modeプロンプトはそのまま残ります@

このコマンドを使用すると、目的のターゲットの代わりにキーマップを使用していることを示すようにプロンプ​​トがvi-editing-mode変更されます。+vi-insertvi-command

バインディングを介してキーマップからキーマップに変更する方法はemacsvi-command

ベストアンサー1

次の.inputrc行を使用すると、Meta / Alt+とモードを切り替えることができますEemacsvi-insert

j同時に、Moo Mooはkあなたをモードに連れて行きますvi-command

set show-mode-in-prompt on

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

注:「kj」を含む唯一の英語の単語は「blackjack」であり、「jk」を含む単語はありません。)

注:v4.3.11(1)からキーbashマップに直接切り替えようとするために、以下にバインディングを追加するとプロンプトが更新されないため(存在する場合)、この回避策が必要です。keymap emacsvi-movement-modevi-commandshow-mode-in-prompt on

おすすめ記事