<C-*>
コマンドの機能を提供したいとします:set nohlsearch
。どうすればこれを達成できますか? map コマンドは、一連のキーストロークを別のセットにマップすることしかできないようです。キーの組み合わせをコマンドにマップするにはどうすればよいですか?
3 に答える
次のようにします。
:nnoremap <C-*> :set nohlsearch<CR>
<C-*>
CtrlとShiftと8(少なくとも英語のキーボード レイアウトでは) を同時に押すことを意味します。残念ながら、その特定の組み合わせは機能しません。キーボード入力が内部で処理される方法が原因で、GVIM であっても、これは残念ながら現在では一般的に不可能です。Ctrl+non-alphabeticはマッピングできず、+ と+ +はCtrl区別letterできません。(端末が個別のtermcapコードを送信しない限り、ほとんどの場合送信されません。) 挿入モードまたはコマンドライン モードで、キーの組み合わせを入力してみてください。何も起こらない/挿入されていない場合、そのキーの組み合わせは使用できません。これは/ 、/ / /にも当てはまりますCtrlShiftletter<Tab>
<C-I>
<CR>
<C-M>
<Esc>
<C-[>
(唯一の例外は<BS>
/<C-H>
です。) これは既知の問題点であり、vim_dev および #vim IRC チャネルに関するさまざまな議論の対象です。
一部の人々 (主に Paul LeoNerd Evans) はそれを修正したいと考えており (これをサポートする端末のコンソール Vim についても)、さまざまな提案を行っています。
しかし、今日現在、パッチやボランティアはまだ出されていませんが、将来の Vim 8 メジャー リリースでこれを提供したいという希望を多くの人が表明しています。
できることは、別のキーの組み合わせ、たとえばファンクション キーの 1 つを選択することです。
:nnoremap <F5> :set nohlsearch<CR>
.vimrc でできるはずです:
nnoremap <C-*> :set nohlsearch<CR>
常にサポートされているショートカットであるかどうかはわかりませんが。
ここで別の例を参照してください