2011-11-10 66 views
7

我最近已切換到在以前使用Linux的工作中使用Mac。我發現了關於MacVim(從http://code.google.com/p/macvim/),並試圖移植我以前的keymappings。是某些鍵映射在MacVim中不起作用

我曾經有的映射如下:

  • Ctrl-T鍵:新選項卡
  • CTRL-W:關閉選項卡/窗口
  • 按Ctrl-1。 .. Ctrl-0:切換到編號標籤
  • Alt-Up:新標籤(同按Ctrl-T
  • Alt鍵左/按住Alt鍵右鍵:切換到上一個/下一個標籤
  • 按Ctrl-Alt鍵-E:打開FuzzyFinder文件模式
  • CTRL-ALT-乙:在緩衝器模式下打開FuzzyFinder
  • 按下Ctrl - Alt-W:從緩衝器清除尾隨空格

現在,爲了使這些映射更像'Mac like',我決定切換前兩個使用該選項(即。 Apple徽標)鍵,並且所有其他人使用命令鍵代替Alt(即:Ctrl-Alt-E變爲Ctrl-Command-E)。我在http://macvim.org/OSX/index.php上讀到這個密鑰可以用D(ie)映射。我的.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的-TCmd的-W打開和關閉標籤成功運行。
  • Cmd-1 ... Cmd-0成功地切換標籤。

什麼不起作用:

  • 加利福尼亞 - 截至打開一個標籤不起作用。
  • Cmd-Left and Cmd-Right切換選項卡不起作用。
  • Ctrl-Cmd-ECtrl-Cmd-B用於打開FuzzyFinder不起作用。
  • 按Ctrl-CMD-W清除空白不工作(但它也不會關閉選項卡,因爲它會不CTRL
+0

如果您自己找到解決方案,則可以接受您自己的答案。 ;) – sjas

+0

有一個[reason](http://learnvimscriptthehardway.stevelosh.com/chapters/05.html)總是使用'* nore(map | abbrev)'(例如'nnoremap'),而不是'nmap'。 – ZyX

+0

感謝ZyX的建議。當我有機會的時候,我想要閱讀'學習Vim Script the Hard Way'的整個過程! –

回答

5

所以事實證明,有一個BU g在Macvim中(http://code.google.com/p/macvim/issues/detail?id=317),這意味着無法映射ctrl鍵。相反,我繪製了領導者密鑰(又名反斜槓),現在似乎都行得通。

+0

嗨@Joel Cross你能告訴我你是如何更具體地解決這個問題的?我嘗試將一個鍵映射到ctrl + command + w。謝謝 – bean

+0

嗨喬爾,你能告訴我更多的細節如何映射ctrl + command + w嗎? – bean

+0

對不起,我的意思是將F這樣的鍵映射到ctrl + command + w,而不是反過來 – bean

7

:verbose map <D-Up> 
調查事故原因

另外嘗試有選擇地啓用你的其他插件,看看映射正在清除某種方式

+0

* 最後從/Applications/MacPorts/MacVim.app/Contents/Resources/vim/gvimrc設置 –

+0

所以看起來好像一個全局文件覆蓋了我的配置。我很驚訝,因爲我會認爲我的用戶配置會優先。 –

+0

我在我的.vimrc中添加了「let macvim_skip_cmd_opt_movement = 1」行,現在這些標籤正常工作。最後三個命令(使用ctrl-cmd組合的命令)仍然無法正常工作。 –