vim mapping ctrl-;

时间:2010-06-23 11:44:04

标签: vim mapping ctrl

在我的情况下,右移按钮是;

我想 Ctrl ; 将光标向右移动7个字符。 我已经尝试了下面的.vimrc映射,但它不起作用:

nmap <c-;> 7;

3 个答案:

答案 0 :(得分:13)

就像之前的评论所说,似乎“;”不能采用<C-;>

的形式

您可以测试输入 Ctrl + V +键序列。

Ctrl + V + ; 仅提供; Ctrl + V + L ^L

所以我认为vim 无法识别<C-;>

您可以获得有关密钥代码帮助页面的更多信息:

:help keycodes
:help <C-

答案 1 :(得分:5)

我不确定,但可能是因为<C-;>没有映射到ASCII字符。只有@A-Z[\]^_映射到ASCII字符(0到31)当与 Ctrl 结合使用时。

修改

我做了一些搜索,发现this thread。在其中,据说gvim.exe按照我的建议工作:只使用有效的控制字符,而不是其他。有趣的是,vim.exe的工作方式不同,您可以进行所需的映射。

答案 2 :(得分:2)

正如其他人所说<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><