Vimで現在マッピングされているキーを表示する方法はありますか?


183

基本的に、現在のバッファー内のすべてのプラグイン、vimrcなどによって現在のバッファーに作成されたすべてのキーマップを表示します。とにかくこれを行うにはありますか?

回答:


238

:mapコマンドでそれを行うことができます。他のバリアントもあります。

  • :nmap 通常モードのマッピング
  • :vmap ビジュアルモードマッピング用
  • :imap 挿入モードのマッピング用

上記のリストは完全ではありません。:help mapVimに入力すると、詳細情報が表示されます。


10
明確にするために、私は:map、元の質問が尋ねるように、プラグイン、vimrcなどによって作成されたマッピングを示すだけだと思います。vimでデフォルトのキーバインディングを表示するには、:index
Von

28
@フォン、あなたはおそらく意味する:help index
Lqueryvg 2014年

2
これらはユーザー定義のマッピングのみを提供し、組み込み(デフォルト)バインディングは提供しません
Tyler Durden

1
それらをファイルに書き込んで後で確認することはできますか?
アントンダネイコ2016

@AntonDaneyko そのためにgithub.com/AndrewRadev/bufferize.vimを使用できます。
ラドラン

86
:redir! > vim_keys.txt
:silent verbose map
:redir END

これにより、ショートカットが定義された場所とともにテキストファイルに出力されます。


1
:redirコマンドではなく、:remapコマンドを使用するつもりだったと思います。
アーロンヘイズ2014年

1
ありがとう、ありがとう、ありがとう!!!最後に、MacVimが私の<A-Up>コマンドを再マッピングしていることがわかりました。let macvim_skip_cmd_opt_movement = 1
RichSを

54

:map引数なしの回答に加えて:verbose map、マッピングが定義された場所を示す詳細形式()をお見逃しなく(を参照:help map-verbose)。



13

:mapそしてその友達が鍵であり、:verbose情報を追加し、:redir検索後の絞り込みを可能にします。

これらは、どのコマンドがどのショートカットにバインドされているか、またはその逆を示すのに最適な組み合わせですが、一部のキーを検索して、マッピングを検索する必要があるときに一時ファイルを避けたい場合は、スクリプトイーズ:Verboseコマンドを確認してください

:verboseプレビューウィンドウに結果を表示するためのラッパーです。

このようにして、一時ファイルを使用せずに、結果の中から必要なものを何でも検索できます。

通常どおりに入力:Verbose mapして使用/ ?します。


4

別の方法は、セッションをファイルに保存し、すべてのマッピングと設定が含まれているため、このファイルを編集することです。

:mks[ession] [file] -現在の編集セッションを復元するVimスクリプトを記述します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.