某些键映射无法在MacVim中运行

Joe*_*oss 7 macos vim keyboard-shortcuts keymapping

我最近在以前使用Linux时转而使用Mac.我发现了MacVim(来自http://code.google.com/p/macvim/)并且一直试图移植我以前的键映射.

我以前的映射如下:

  • Ctrl-T: 新标签
  • Ctrl-W:关闭选项卡/窗口
  • Ctrl-1... Ctrl-0:切换到带编号的选项卡
  • Alt-Up:新标签(相同Ctrl-T)
  • Alt-Left/ Alt-Right:切换到上一个/下一个选项卡
  • Ctrl-Alt-E:在文件模式下打开FuzzyFinder
  • Ctrl-Alt-B:在缓冲模式下打开FuzzyFinder
  • Ctrl-Alt-W:清除缓冲区中的尾随空格

现在,为了使这些映射更像"Mac like",我决定切换前两个使用选项(即Apple徽标)键,所有其他人使用命令键而不是Alt(即Ctrl-Alt-E成为Ctrl-Command-E).我在http://macvim.org/OSX/index.php上读到这个密钥可以用D(即)映射.我的.vimrc的新内容如下:

nmap <D-t> :tabnew<cr>
nmap <D-w> :close<cr>
nmap <D-1> 1gt
nmap <D-2> 2gt
nmap <D-3> 3gt
nmap <D-4> 4gt
nmap <D-5> 5gt
nmap <D-6> 6gt
nmap <D-7> 7gt
nmap <D-8> 8gt
nmap <D-9> 9gt
nmap <D-0> 10gt

nmap <D-Up> :tabnew<CR>
nmap <D-Right> :tabnext<CR>
nmap <D-Left> :tabprevious<CR>

"FuzzyFinder
nmap <C-D-e> :FufFileWithFullCwd<CR>
nmap <C-D-b> :FufBuffer<CR>

"Whitespace remover
nmap <C-D-w> :%s/\s\+$//<CR>
Run Code Online (Sandbox Code Playgroud)

因此,在重新映射密钥之后,一些现在可以工作,而另一些则不工作,没有明确的逻辑原因.

什么有效:

  • Cmd-TCmd-W成功地打开和关闭标签.
  • Cmd-1... Cmd-0成功切换选项卡.

什么行不通:

  • Cmd-Up 打开选项卡不起作用.
  • Cmd-Left并且Cmd-Right用于切换标签不起作用.
  • Ctrl-Cmd-E并且Ctrl-Cmd-B用于打开FuzzyFinder不起作用.
  • Ctrl-Cmd-W清除空格不起作用(但它也没有关闭选项卡,因为它没有ctrl.

seh*_*ehe 7

这样做可以调查原因

:verbose map <D-Up>
Run Code Online (Sandbox Code Playgroud)

另外,尝试有选择地启用其他插件,以查看映射是否以某种方式被清除


Joe*_*oss 5

事实证明,Macvim中存在一个错误(http://code.google.com/p/macvim/issues/detail?id=317),这意味着无法映射ctrl键.相反,我映射了领导者密钥(也就是反斜杠),现在它们似乎都有效.