vim映射ctrl-;

问题描述:

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

我想Ctrl;将光标向右移动7个字符。 我试过下面的.vimrc映射,但它不工作:

nmap <c-;> 7;

像以前的评论所说,似乎“;”不能以<C-;>的形式出现。

你可以测试打字Ctrl + V +键序列。

Ctrl键 + V + ;仅给出;Ctrl键 + V + 大号^L

所以我认为vim 不能承认<C-;>

您对键码的帮助页面一些更多的信息:

:help keycodes 
:help <C- 

我不知道,但它可能是因为<C-;>没有映射到一个ASCII字符。仅@A-Z[\]^_地图到当与Ctrl键组合ASCII字符(分别为0到31)。

编辑

我做了一些搜索,发现this thread。在它里面,据说gvim.exe按照我的建议工作:只使用有效的控制字符,没有别的。有趣的是vim.exe的工作方式不同,你可以做你想要的映射。

正如有人说<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><