最近通常モードで入力したとき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の今後のバージョンでこの機能を提供する意思を表明していますが、現在ではパッチやボランティアが登場していません。