なぜ私のマッピングですか?:bYはgvimで動作しませんか?

なぜ私のマッピングですか?:bYはgvimで動作しませんか?

私の.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>を探しているようです。

関連情報