「キーマップviの設定」は実際に何をしますか?

「キーマップviの設定」は実際に何をしますか?

vimテーマ Readlineの作業中に2つのテーマがあることがわかりました。

set editing-mode vi
set keymap vi

editing-mode viテキストの編集、挿入などのためにさまざまなVIMキーマップを提供することが何を意味するのか理解していると思います。

doset keymap viは何と並置されていますかset editing-mode vi?これにより、どのような追加の利点を得ることができますか?


本当に悪くて過度に複雑な答えがたくさんあります。私は文書化されていませんが、文書化されたコマンドと同じコマンド、私のデフォルトが何であるか(何らかの形で)emacsを気にしません(明らかに変更しようとしています)。

答え1

これはおよびのエイリアスと同じで、set keymap vi-commandviコマンドモードでカスタムキーバインディング定義を開始するために使用されます。

したがって、~/.inputrc次のように使用できます。

set keymap vi-command
# or set keymap vi (or, for that matter: set keymap vi-move)
# these are for vi-command mode
"\e[A": history-search-backward
"\e[B": history-search-forward

他の有効なオプション(editing-modeafterに設定vi)は、keymap vi-insert残りのモーダル製品に適用されます。

答え2

「キーマップviの設定」は実際に何をしますか?

指定されたキーマップにのみ適用されるキー定義リストの開始点を表示します。

キーマップ名は次のとおりです。

有効なキーマップ名のセットは、emacs、emacs-standard、emacs-meta、emacs-ctlx、vi、vi-move、vi-command、vi-insert です。 vi は vi コマンドと同じです。 emacs は emacs-standard と同じです。

vi、vi-move、vi-command モードは同じ名前で表示されます。

.inputrcしたがって、ファイルにキーマップが表示されてから他のキーマップを有効にするまで(またはモード(viとemacs)を変更するまで)、キーセットはstart keymapコマンドで指定されたキーマップを適用します。

関連情報