在我的情况下,向右移动按钮是;
我想Ctrl;将光标向右移动 7 个字符。我已经尝试了下面的 .vimrc 映射,但它不起作用:
nmap <c-;> 7;
正如之前的评论所说,似乎“;” 不能是形式<C-;>
。
您可以测试键入Ctrl+ V+ 键序列。
Ctrl++只给,而V++给。;;
CtrlVL^L
所以我想 vim无法识别<C-;>
。
您可以在关键代码帮助页面上获得更多信息:
:help keycodes
:help <C-
我不确定,但可能是因为<C-;>
没有映射到 ASCII 字符。只有@
, A-Z
, [
, \
, ]
,^
和与 ._
组合时映射到 ASCII 字符(分别为 0 到 31)Ctrl。
编辑
我做了一些搜索,发现了这个线程。在其中,据说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><