vimでは、<Ctrl + i>を再マッピングせずに<tab>を再マッピングするにはどうすればよいですか?


14

タブを使用して分割ウィンドウ間をジャンプするのが好きなのでmap <tab> <C-W><C-W>、.vimrcにあります。しかし、これにより、Ctrl + IがCtrl + Iとして動作するのではなく、Ctrl + W、Ctrl + Wとして動作することに気付きました。どうすればリマップ<tab>でき<C-i>ますか?

回答:


10

キーボード入力は内部的に処理されるため、残念ながら今日では、GVIMでもこれは一般的に不可能です。Ctrl+アルファベット以外の一部のキーの組み合わせはマッピングできません。Ctrl+文字とCtrl+ Shift+文字は区別できません。(端末が別個のtermcapコードを送信しない限り、ほとんどは送信しません。)挿入モードまたはコマンドラインモードで、キーの組み合わせを入力してみてください。何も起こらない/挿入される場合、そのキーの組み合わせは使用できません。これは<Tab>/ <C-I><CR>/ <C-M>/ <Esc>/ <C-[>などにも適用されます(例外は<BS>/ のみ<C-H>です)。これは既知の問題点であり、vim_devおよび#vim IRCチャネルに関するさまざまな議論の主題です。

一部の人々(ほとんどのPaul LeoNerd Evans)はそれを修正したい(これをサポートする端末のコンソールVimでさえ)、さまざまな提案を浮かび上がらせた、cp。http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

しかし、現在のところ、パッチやボランティアはまだ出ていませんが、多くの人が将来のVim 8メジャーリリースでこれを使用したいという要望を表明しています。


1
このキーコードのマッピング/認識の問題は、現在(2017年)にVim 8で解決されましたか?Vim 8.0
llinfengでの

@llinfeng:いいえ、残念ながらできません。Bramは現在、ターミナルをVimに統合する作業を行っています。これは、Paul Evansが作成したライブラリを使用しているようです。したがって、最終的には、処理されるキーも改善される可能性があります。(しかし、これは現時点では純粋な推測です。)
インゴカルカット

0

特に端末の下にある場合、Vimではすべてのショートカットが使用できるわけではありません。そのためにタブショートカットを使用することはお勧めしません。ただし、代替ソリューションは次のようになる場合があります。

" Note: Allows faster switching between windows with "Ctrl+w"! By Questor
nnoremap <silent> <C-w> <C-w><C-w>
inoremap <silent> <C-w> <Esc><C-w><C-w>
vnoremap <silent> <C-w> <Esc><C-w><C-w>

https://github.com/eduardolucioac/groovim/blob/master/.vimrcの使用例を参照してください

[]の

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.