Macのデフォルトのテキスト編集のようにしようとしています。私は試した map! <D-Left> 0
およびmap! <D-Right> $
〜/.vimrcにありますが、もちろん機能しませんでした。これどうやってするの?
私の知る限り、コマンドキー修飾子の構文( <D-...>
)は、Mac OS XのVimのGUIモードインスタンスでのみ有効です。
VimインスタンスはGUIベースである必要があります。これは、ほとんどのターミナルエミュレーター(Terminal、iTermなど)はコマンドキーの組み合わせの制御シーケンスを生成しないため、Vimのttyのみのインスタンスはコマンドキーの組み合わせが押されたことを知る方法がありません(ターミナルエミュレータは、ttyインターフェイスを介して何も送信しません)。実際、Terminalは、⌘←と⌘→(Command-Leftと-Right)を開いているウィンドウを循環するようにバインドするため、入力時にこれらのキーは「すでに使用されています」 ターミナルのコンテキスト。
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
、~/.gvimrc
の順序で処理されます。 MacVimの$VIM/gvimrc
は<D-Left>
をマップするため、<D-Left>
のマッピング(実際にオーバーライドする場合)を~/.gvimrc
に配置して、「最終決定」を行う必要があります。