私の.vimrc
ファイルには2つの行があります。
noremap! <C-PageDown> :bnext <CR>
noremap! <C-PageUp> :bprev <CR>
しかし、彼らは動作しません!挿入モードで、次のように入力します。
<C-v><C-PageDown>
返品
<C-PageDown>
<C-PageUp>
(文字通り)受け取ったコマンドを実行しようとしても同じです。
:bnext
(改行文字を含む)。通常モードでは効果はありません。だから私はキーマップが私の殻によって食べられないことを知っています。X
しかし、何が間違っている可能性がありますか?他のキーマッピングはうまく機能します。
答え1
解決しました!
noremap <C-PageDown> :bnext <CR>
noremap <C-PageUp> :bprev <CR>
inoremap <C_PageDown> <C-\><C-O>:bnext <CR>
inoremap <C_PageUp> <C-\><C-O>:bprev <CR>
挿入モードでは、キーマップの右側にあるすべてが文字通り挿入されるため、単一の<C-O>
コマンドに対して通常モードに入るにはどちらを使用する必要があります。これにより、<C-\>
行末で呼び出されたときに発生する左にカーソルが移動するのを防ぎます。<C-O>
また、途中にスペースを入れないでください<C-O>
。:bnext
それ以外の場合は食べられます<C-O>
。
答え2
このキーはすでにvimでタブを切り替えるために使用されているためですか?vims ドキュメントの説明をご覧ください。
答え3
:noremapのnは通常モード用なので、挿入モードでは効果がありません。挿入モードで動作させるには:imapを使用してください。挿入モードで動作するように<CV>を使用したい場合は、<CO>を探しているようです。