8

<C-*>コマンドの機能を提供したいとします:set nohlsearch。どうすればこれを達成できますか? map コマンドは、一連のキーストロークを別のセットにマップすることしかできないようです。キーの組み合わせをコマンドにマップするにはどうすればよいですか?

4

3 に答える 3

15

次のようにします。

:nnoremap <C-*> :set nohlsearch<CR>

<C-*>CtrlShift8(少なくとも英語のキーボード レイアウトでは) を同時に押すことを意味します。残念ながら、その特定の組み合わせは機能しません。キーボード入力が内部で処理される方法が原因で、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>
于 2013-09-20T12:39:15.713 に答える
0

.vimrc でできるはずです:

nnoremap <C-*> :set nohlsearch<CR>

常にサポートされているショートカットであるかどうかはわかりませんが。

ここで別の例を参照してください

于 2013-09-20T12:38:07.617 に答える