繁体   English   中英

Vim/GVim 键映射

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM