it-mure.jp.net

MacVimのスイッチバッファ

MacVimで次のようなショートカットを使用してバッファ(:bn!/:bp!)を切り替えられるようにしたい

Alt(オプション)-左矢印キー/右矢印キー

今のところ私はそれをすることができませんでした。

これがキーのマッピングです。これはLinuxでは完全に機能しますが、MacOSでは機能しません。

map <M-Right> :bn!<CR>
map <M-Left> :bp!<CR>
6
Art

Vim初期化ファイルはこの順序で処理されます(簡略化。 :help initialization を参照):

  1. $VIM/vimrc
  2. $HOME/.vimrc
  3. $VIM/gvimrc
  4. $HOME/.gvimrc

問題は、MacVimがM-RightとM-Left(および他のいくつかのキーの組み合わせ)を$VIM/gvimrc(つまり、…/MacVim.app/Contents/Resources/vim/gvimrc)にマップすることです。これにより、$HOME/.vimrcのこれらのキーの組み合わせに対して行ったマッピングが上書きされます。

このスタートアップファイル(つまり、:view $VIM/gvimrc)を調べると、macvim_skip_cmd_opt_movementに特別な変数$HOME/.vimrc(任意の値)を設定することで、これらの特定のマッピングを禁止できることがわかります。

let macvim_skip_cmd_opt_movement = 1

これにより、10個のデフォルトのMacVimマッピング(左、右、上、下、およびBSのそれぞれのコマンドとオプション)が禁止されます。

または、マッピングを$HOME/.gvimrcに配置することもできます(macvim_skip_cmd_opt_movementで禁止していなくても、デフォルトのMacVimマッピングを上書きします)。

8
Chris Johnsen

これを.vimrcファイルに入れてみてください:

" Set left and right option/alt keys to be meta keys
set macmeta

次に、それらのマッピングを再試行して、機能するかどうかを確認します。逆にしたい場合は、単に:set nomacmeta

MacVimがインストールされていないコンピューターでもこの.vimrcファイルを使用する場合は、代わりに次のファイルを使用してください。

" Set left and right option/alt keys to be meta keys
if has("gui_macvim")
    set macmeta
endif
3
lyallcooper