Vimrc、地図制御 -;

Vimrc、地図制御 -;

Vimで長押しとタップをマッピングする方法はCtrl;

私のLinux端末では動作しません。Ctrl- vimrcを入れた後はうまくいきますlが、何もしません。<c-l> some_action<c-;> some_action

答え1

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

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

しかし、現在のところ、今後出てくるパッチや志願者はいません。しかし、多くの人がVim 8の将来のメジャーバージョンでこの機能を使用できるようにしたいと述べています。

答え2

GUIまたはウィンドウマネージャの一種で作業している場合は、入力時にターミナルアプリケーションまたはGvimアプリケーションに別のキーストロークを送信するように設定できますCtrl;。 vimは理解できますが、入力するのが難しいキーストロークを送信するように指示する必要があります。

たとえば、(入力するのが難しい)Ctrl;にマッピングしてからにマッピングできます。Ctrl^Ctrl^.vimrc

私はMac OS XでKeyboard Maestroを使ってこれをしました。もちろん、これは設定がやや面倒で、特別に設定された環境でのみ機能しますが、一般的な状況に合わせて最適化すると長期的なパフォーマンスを得ることができます。

関連情報