我希望能够在 MacVim 中切换缓冲区 (:bn! / :bp!),使用以下快捷方式
Alt(选项)- 左箭头键/右箭头键
到目前为止我还不能做到这一点。
这是我的按键映射,在 Linux 中运行良好,但在 MacOS 中却不行:
map <M-Right> :bn!<CR>
map <M-Left> :bp!<CR>
答案1
Vim 初始化文件按此顺序处理(简化;参见:help initialization
):
$VIM/vimrc
$HOME/.vimrc
$VIM/gvimrc
$HOME/.gvimrc
问题是 MacVim 在其$VIM/gvimrc
(即…/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
这将抑制十个默认的 MacVim 映射(左、右、上、下和 BS 的命令和选项)。
或者,您可以将映射放入您的$HOME/.gvimrc
(即使您没有用 抑制它们,它们也会覆盖默认的 MacVim 映射macvim_skip_cmd_opt_movement
)。
答案2
尝试将其放入你的 .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