Ctrl-Iは通常モードでTABと競合します。

Ctrl-Iは通常モードでTABと競合します。

最近通常モードで入力したときCtrl-i(コマンドは飛躍)「混乱」商標キー。特に、次のマッピングがあります。

nnoremap <Tab> :tabnext<Enter>

答え1

ターミナルI / Oアプリケーションは、ターミナルから送信された組み合わせ文字のみを表示できます。特定のキーとコードを区別できません、GUIアプリケーションは可能です。 GUI は、キーを押すとドロップするメッセージに基づいて動作する傾向があるためです。

ほとんどの端末と端末エミュレータは、⇥ Tabまたは+キーを押すと(仮想)行を介して␉(U + 0009)文字をホストシステムに送信します。これはない。これが端末が動作する方法であり、これをシミュレートするエミュレータが動作する方法です。⎈ ControlIvim

⎋ Escまた、+または+を押すと、これらの端末と端末⎈ Controlエミュレータが(仮想)ワイヤを介してホストシステムに␛(U + 001B)文字を送信することを忘れます。[

答え2

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

一部の人々(最初はPaul LeoNerd Evans)がこの問題を解決したいと思っていました(この機能をサポートする端末のVimコンソールの場合でも)、さまざまな提案をしました。https://groups.google.com/forum/#!topic/vim_dev/Ym6D-kWIsyo

しかし、多くの人がVimの今後のバージョンでこの機能を提供する意思を表明していますが、現在ではパッチやボランティアが登場していません。

関連情報