在 MacVim 中切换缓冲区

Art*_*Art 6 keyboard-shortcuts shortcuts hotkeys macvim

我希望能够在 MacVim 中切换缓冲区 (:bn! / :bp!),使用类似的快捷方式

Alt(选项) - 左箭头键/右箭头键

到目前为止,我无法做到这一点。

这是我对键的映射,它在 Linux 中工作得很好,但在 MacOS 上却不是:

map <M-Right> :bn!<CR>
map <M-Left> :bp!<CR>
Run Code Online (Sandbox Code Playgroud)

Chr*_*sen 8

Vim 初始化文件按以下顺序处理(简化;参见 参考资料:help initialization):

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

问题是 MacVim 在它的$VIM/gvimrc(ie …/MacVim.app/Contents/Resources/vim/gvimrc) 中映射了 M-Right 和 M-Left(以及其他几个组合键);这将覆盖您在$HOME/.vimrc.

如果你检查这个启动文件(即:view $VIM/gvimrc),你会发现这些特定的映射可以通过macvim_skip_cmd_opt_movement在你的$HOME/.vimrc.

let macvim_skip_cmd_opt_movement = 1
Run Code Online (Sandbox Code Playgroud)

这将禁止十个默认的 MacVim 映射(左、右、上、下和 BS 中的每一个的命令和选项)。

或者,您可以将您的映射放在您的$HOME/.gvimrc(即使您没有使用 禁止它们,它们也会覆盖默认的 MacVim 映射macvim_skip_cmd_opt_movement)。