vimで、「command-right」と「command-left」をMacの行頭と行末にマップする方法は?


10

Macでのデフォルトのテキスト編集のようにしようとしています。私が試した map! <D-Left> 0 し、 map! <D-Right> $ 〜/ .vimrcとでは、もちろん、それは仕事をしませんでした。これどうやってするの?

回答:


9

私の知る限り、コマンドキー修飾子構文(<D-...>)は、Mac OS X上のVimの GUIモードのインスタンスでのみ有効です。

Vimのほとんどの端末エミュレータ(ため、インスタンスは、GUIベースでなければならないのターミナルITERMなど、)コマンドキーの組み合わせのための制御シーケンスを生成しませんので、のTTY専用インスタンスVimは、コマンドキーの組み合わせが今まであったことを知る方法はありません押されました(端末エミュレータはttyインターフェースを介して何も送信しません)。実際、ターミナルは⌘←と⌘→(Command-Leftと-Right)を開いているウィンドウの循環にバインドするので、Terminalのコンテキストで入力しているとき、これらのキーは「すでに使用されています」。

MacVim(GUIモードで実行する場合)には、(他のMacスタイルのキーストロークの中でも)<D-Left>および<D-Right>(それぞれ、<Home>(とほぼ同じ0)および<End>(と同じ$))の機能マッピングが付属しています。注意点の1つは、これらのデフォルトのマッピングはで確立される$VIM/gvimrcため、~/.gvimrcからのみ適切にオーバーライドできることです。

Mac OS X用のVimには他にもGUIベースのバージョンがあったと思いますが、MacVimが唯一の最新バージョンのようです。

大体、スタートアップファイルがこの順序で処理されます$VIM/vimrc~/.vimrc$VIM/gvimrc~/.gvimrcMacVim$VIM/gvimrcマップなので<D-Left><D-Left>(実際にそれを上書きしたい場合)のマッピングをに入れ~/.gvimrcて、「最終的な発言」ができるようにする必要があります。


ありがとう。私はiTerm 2を試してみましたが、それでもうまくいきましたが、それでも...なんて辛いことです...私の人生に戻ってきてください、Xcode
Marty
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.