Vim の ctrl+o を再マップするにはどうすればいいですか?

Vim の ctrl+o を再マップするにはどうすればいいですか?

Control+OVim の他の用途に (通常モード) を使用し、 (通常行う)Alt+leftジャンプバックに使用したいと思います。通常は、 にバインドされていたコマンドに単純にマップするのですが、何も見つからないようです (たとえば、:back や :jumpback はありません)。Control+OAlt+leftControl+O

これを実現するにはどうすればいいでしょうか?

答え1

新しいキーを古いキーにマッピングしますが、noremap (再マッピングなし) を使用します。これにより、マッピングでは、マッピングの右側にあるキーの元の意味が使用され、そのキーに指定した新しいマッピングは使用されません。

例えば、あなたが

:map a b
:map b c

と入力するとa、 に元々バインドされている関数が実行されますc。ただし、

:noremap a b
:noremap b c

と入力するとa、 に元々バインドされていた関数が実行されますb

あなたの場合、マッピングは次のようになります

:nnoremap <Alt-Left> <C-O>

または

:nnoremap <A-Left> <C-O>

そうすれば、他のものにマッピングできるようになります<C-O>

注: Vim のドキュメントでは動作するように記載されていますが、現在使用しているシステムではどちらのマッピングも動作しません。ただし、次のマッピングは動作します。

:nnoremap <M-Left> <C-O>

関連情報