2014-01-30 37 views
5

我一直在試圖創建一個快捷方式來在vim中打開窗口拆分,而不是使用ctrl + w + [arrowkey]我寧願只能使用ctrl + [箭頭鍵]。VIM自定義箭頭鍵映射不能用於窗口切換?

這是我目前在我的vimrc:

map <silent> <C-v> <c-w>v 
map <silent> <C-Left> <c-w>h 
map <silent> <C-Down> <c-w>j 
map <silent> <C-Up> <c-w>k 
map <silent> <C-Right> <c-w>l 

做的VSPLIT的第一個快捷方式工作得很好,但是,沒有其他的工作。我已經嘗試了幾個變種,但他們都沒有做任何事情。

我使用標準的debian wheezy與KDE,vim從konsole運行,我安裝的唯一插件是NERDTree和Airline。

我希望有人可以幫助提供解決方案,因爲我一直在網上搜索幾個小時,嘗試數以百計的選項,似乎沒有任何區別。

編輯 快捷鍵的逐字插入在shell或vim中都不會輸出任何內容。

+3

確保KDE和終端仿真器沒有快捷鍵''我 – FDinoff

+0

檢查過這兩個,也不使用C-箭頭快捷鍵我試圖使用在vim中。 – historymaker118

+0

您可以嘗試使用逐字插入來獲得一些見解:鍵入Ctrl + v然後例如按Ctrl +向上,查看關鍵代碼。請在[tag:shell]和[tag:vim]中執行此操作,並使用輸出更新您的問題。 – pfnuesel

回答

1

首先,確保<C-Left>不由konsole處理。開始新的一個,並使用cat

$ cat 
^[[1;5D 

這是應該的<C-Left>工作。與其他箭頭類似。如果<C-Left>不能以這種方式工作,請在/etc/inputrc~/.inputrc中搜索"\e[1;5D": ...並對其進行註釋。您可能需要註銷並登錄才能使這些更改生效。

接下來,使用

:verbose map 

vim中顯示所有映射的快捷方式和它們的來源。你應該在這個列表中看到你的綁定。你的綁定是正確的,所有的工作在我的情況。

0

試試這個:

nnoremap <C-DOWN> <C-W><C-J> 
nnoremap <C-UP> <C-W><C-K> 
nnoremap <C-RIGHT> <C-W><C-L> 
nnoremap <C-LEFT> <C-W><C-H>