17

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

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

nmap <c-;> 7;

4

3 回答 3

24

正如之前的评论所说,似乎“;” 不能是形式<C-;>

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

Ctrl++只给,而V++给。;;CtrlVL^L

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

您可以在关键代码帮助页面上获得更多信息:

:help keycodes
:help <C-
于 2010-06-23T12:39:59.423 回答
5

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

编辑

我做了一些搜索,发现了这个线程。在其中,据说gvim.exe按照我建议的方式工作:只使用有效的控制字符,不要使用其他字符。有趣的是vim.exe,工作方式不同,你可以做你想要的映射。

于 2010-06-23T12:28:55.457 回答
5

正如其他人所说<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><
于 2016-03-08T14:08:31.333 回答