2010-06-23 122 views
7

在我的情況下,右移按鈕是;vim映射ctrl-;

我想Ctrl;將光標向右移動7個字符。 我試過下面的.vimrc映射,但它不工作:

nmap <c-;> 7;

回答

11

像以前的評論所說,似乎「;」不能以<C-;>的形式出現。

你可以測試打字Ctrl + V +鍵序列。

Ctrl鍵 + V + ;僅給出;Ctrl鍵 + V + 大號^L

所以我認爲vim 不能承認<C-;>

您對鍵碼的幫助頁面一些更多的信息:

:help keycodes 
:help <C- 
5

我不知道,但它可能是因爲<C-;>沒有映射到一個ASCII字符。僅@A-Z[\]^_地圖到當與Ctrl鍵組合ASCII字符(分別爲0到31)。

編輯

我做了一些搜索,發現this thread。在它裏面,據說gvim.exe按照我的建議工作:只使用有效的控制字符,沒有別的。有趣的是vim.exe的工作方式不同,你可以做你想要的映射。

1

正如有人說<c-;>不能映射。 最好的解決辦法是:

nmap <C-l> 7l 
nmap <C-h> 7h 

您可以重新映射常規光標鍵來代替。
這樣的事情也將工作:

nmap <C-Right> 7l 
nmap <C-Left> 7h 

其他方面例如用於調整窗口大小:

" resize horzontal split window 
nmap <C-Up> <C-W>-<C-W>- 
nmap <C-Down> <C-W>+<C-W>+ 
" resize vertical split window 
nmap <C-Right> <C-W>><C-W>> 
nmap <C-Left> <C-W><<C-W><