Shift-Enterをマップする方法
How Map Shift Enter
解決:
キーボード入力が内部で処理される方法のため、残念ながら、これは今日のVimのターミナルバージョンでは一般的に不可能です(すべてのプラットフォームのGVIM、およびWindowsコンソールVimで動作するはずです)。これは既知の問題点であり、vim_devと#vimIRCチャネルに関するさまざまな議論の対象です。
一部の人々(主にPaul LeoNerd Evans)はそれを修正したいと思っており(これをサポートする端末のコンソールVimの場合でも)、さまざまな提案を提出しています。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8
しかし、今日の時点では、パッチやボランティアはまだ提供されていませんが、多くの人が将来のVim8メジャーリリースでこれを使用したいという希望を表明しています。
マッピングに関する注意:
マップする場合通常モードでは、コマンドラインウィンドウでの履歴アイテムの選択や、クイックフィックス/ロケーションリストウィンドウのカーソルの下のエラーへのジャンプが妨げられます。 (以下を追加しない限り:)
:autocmd CmdwinEnter * nnoremap:autocmd BufReadPost quickfix nnoremapに注意してください:nmap:
あなたは使用する必要があります:noremap;これにより、マッピングは再マッピングや再帰の影響を受けなくなります。
Vimが期待していると思われるキーコードを送信することで、Shift + Enterの端末キーコードを修正することができました。お使いの端末によっては、 (ボーナスとしてCtrl + Enterを追加します!)
iTerm2
単一のプロファイルを開く場合 環境設定 → プロファイル → キー → [+](追加)
開いているすべてのプロファイル 環境設定 → キー → [+](追加)
- キーボードショートカット: (Shift + Enterを押す)
- アクション: エスケープシーケンスを送信する
Esc + [13; 2u
Ctrl + Enterを次の順序で繰り返します:[13; 5u
urxvt 、あなたに追加.Xresourcesファイル:
URxvt.keysym.S-戻り値: 033 [13; 2u URxvt.keysym.C-戻り値: 033 [13; 5u Alacritty 、 下key_bindings、以下を追加します〜/ .config / alacritty / alacritty.yml:
-{key:Return、mods:Shift、chars: ' x1b [13; 2u'}-{key:Return、mods:Control、chars: ' x1b [13; 5u'} キティ 、 の〜/ .config / kitty / kitty.conf:
map shift + enter send_text all x1b [13; 2u map ctrl + enter send_text all x1b [13; 5u
また、マップしたかったのですが、Ctrl + Vを使用して2番目のマッピングを追加し、次にマップされたキーストロークを追加するまで、CLIモードで機能させることができませんでした。ただし、GVImが期待どおりに機能するには、マッピングが引き続き必要です。これにより、.vimrcスニペットが次のようにレンダリングされます。
nnoremap o nnoremap i'GVImに必要nnoremap ^ [0M i'CLI VImに必要(注:^ [0MはCtrl + V Shift + Enterで作成されました。直接入力しないでください)私はこれをUbuntu12.04でテストしました。ハッピービミング!