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

时间:2011-11-10 10:49:25

标签: 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(即。< kbd> 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>

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

什么有效:

  • Cmd-T Cmd-W 成功用于打开和关闭标签。
  • Cmd-1 ... Cmd-0 成功切换标签。

什么行不通:

    用于打开标签页的
  • Cmd-Up 不起作用。
  • 用于切换标签的
  • Cmd-Left Cmd-Right 不起作用。
  • 用于打开FuzzyFinder的
  • Ctrl-Cmd-E Ctrl-Cmd-B 不起作用。
  • 用于清除空格的
  • Ctrl-Cmd-W 不起作用(但它也不会关闭选项卡,就像没有 ctrl 那样。

2 个答案:

答案 0 :(得分:7)

通过

调查原因
:verbose map <D-Up>

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

答案 1 :(得分:5)

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