キーがvimで何かを行うかどうかを判断する方法があるかどうかを知りたいです。 :map
を使用してユーザー定義のマッピングを表示できることは知っていますが、組み込みのものには何かありますか?
たとえば、私はいつも持っていた CTRL-W タブを閉じる必要があります。これは使用されていないと思ったからです。半年後、私はそれを使用するいくつかのシーケンスがあることを発見しました CTRL-WCTRL-S ウィンドウを分割するために、それは自分自身を再訓練するのは悪夢でした。
ランディ・モリスによる提案された答えをチェックアウトすると、あなたはそれを見つけるでしょう
:help index
必要なリストが表示されます。
デフォルトのマッピングを確認するには:
:help index
ユーザーまたはプラグインによって行われる他のマッピングの場合:
:map
:map!
http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial(Part_1) :
最初のコマンドは、通常、視覚、選択、およびオペレーター保留モードで機能するマップを表示します。 2番目のコマンドは、挿入モードおよびコマンドラインモードで機能するマップを表示します。
通常、上記のコマンドの出力は複数のページにまたがります。次の一連のコマンドを使用して、出力をvim_maps.txtファイルにリダイレクトできます。
:redir! > vim_maps.txt :map :map! :redir END
完全な答えではありませんが、チェックアウトしたい場合があります:help map-which-keys
vimがカスタムマップでの使用を推奨するキーのリスト。
そのヘルプセクションには、特定のキーがアクションにマップされているかどうかを確認する方法の推奨事項があります。
_:map!
_と_:map
_を使用してキーを手動で設定し、:help 'char(-combination)'
を使用して、vimですぐにマッピングされるキーを特定します(/特定のコンパイルオプションから) 。 (少しトピックから外れていますが、まだかなり重要です(私は思う):_:scriptnames
_を使用して、どのファイルがどの順序でソースされているかを確認します。)
:help index
および未使用のnmap
キーのリストを作成しました。
<Space>
(通常モードのl
と同じ。通常モードの最大かつ最も使用率の低いキー)更新/コメントしてください。
mapcheck
.:-を使用できます
たとえば、<CR> ,i
をgg=G
にマップして、ファイルをインデントします。 <CR> , i
のマッピングが既にあるかどうかを確認するには
if mapcheck("\<CR>", "I") == "" |echo "no mapping"
...しかし、これはマッピングがシーケンスの一部であるかどうかを検出しません。