[英]Vim/GVim key mappings
几周以来,我一直在专门使用 Vim,到目前为止,有几件事让我对自己的体验感到非常兴奋。 一方面,我无法将一些键序列映射到命令。
我想 map Ctrl + Shift + Z到:redo<CR>
或交替<CR>
,但显然Vim 无法识别移位和未移位的控制键序列之间的区别:
Ctrl-b 和 Ctrl-B 是同义词,它们都表示 0x02。 这不能改变,它可以追溯到 ASCII,它可以追溯到 7 孔纸带(不计算奇偶校验)。
这对我来说似乎很愚蠢。 自 7 孔纸带以来,我们已经走了很长一段路,根据我的经验,许多程序都认识到<CSZ>
和<CZ>
之间的区别。 事实上,MacVim 甚至认识到了其中的差异。 但是 GVim 或 GNOME 终端没有乐趣? 有没有解决的办法? 也许是一个插件,甚至是一些编译时选项?
我遇到问题的另一个组合键是Ctrl + , (control+comma)。 我不确定我的.vimrc
中是否配置错误,或者它是否是 Vim 的真正问题,但映射后我无法得到<C-,>
响应(例如: map <C-,>:TComment<CR>
)。 FWIW,我已将领导密钥重新映射到;
. 我做错了吗? 还是有其他原因导致 Vim 无法识别<C-,>
组合键?
我花了太多时间在谷歌上搜索和摆弄键映射,我即将宣布 Vim 不像我被认为的那样灵活......我什至无法配置它我习惯的键映射,其中一些我不愿意重新/忘记,因为它们在我每天使用的其他程序中工作。
看起来您发布的链接已经回答了您关于<Cb>
与<CB>
的问题。 根据常见问题解答,您似乎对<C-,>
也不走运,因为此组合键不在 Vim 可以检测到的 Ctrl-printable-key 和弦列表中(可能是因为它甚至不是可打印的ASCII 和弦?)。
诸如<CSw>
之类的组合键非常不像 Vim ,因为它们会破坏模态编辑器的效率。 当然,有时<CTRL>
-转义组合是必要的(例如在插入模式映射中,例如<Cx>
- <Co>
用于全完成),但对于撤消和重做等操作而言,情况并非如此。
很抱歉,这个回复不能让您满意,但从长远来看,“按照 Vim 的方式来做”,而不是试图让 Vim 屈服于您的意愿,会收获很多。
尝试将set nocompatable
添加到您的 vimrc。 没有这个,你基本上是在运行 vi,它比 vim 更受限制。 这应该允许您 map <CSr>
或<F11>
或任何其他您想要的。 贾梅森完全正确。 在它们存在的地方使用默认映射要好得多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.