Vim / GVim键映射

时间:2011-07-12 04:24:26

标签: vim mapping key

我几个星期以来一直在使用Vim,有些事情让我对目前为止的经历感到非常兴奋。首先,我无法将几个键序列映射到命令。

我想将 Ctrl + Shift + Z 映射到:redo<CR>或者<C-R>,但是在移位和未移位的控制键序列之间显然Vim is not able to recognize the difference

  

Ctrl-b和Ctrl-B是同义词,它们都表示0x02。这不可能   改变了,它又回到了ASCII,它可以追溯到7孔纸带   (不包括平价)。

这对我来说似乎很愚蠢。自7孔纸胶带以来,我们已经走了很长一段路,根据我的经验, MANY 程序识别<C-S-Z><C-Z>之间的区别。事实上,MacVim甚至认识到了这一点!但在GVim或GNOME终端中没有任何乐趣。有没有解决的办法?也许是一个插件甚至是一些编译时选项?

我遇到问题的另一个关键组合是 Ctrl + (控制+逗号)。我不确定我的.vimrc中是否有错误的配置,或者它是否与Vim存在真正的问题,但是在映射之后我无法让<C-,>做出响应(例如:{{ 1}})。 FWIW,我将我的领导密钥重新映射到map <C-,> :TComment<CR>。我做错了吗?或者是否有其他原因导致Vim无法识别;键组合?

我花了太多时间在谷歌搜索和摆弄关键映射,我即将宣布Vim不像我所认为的那样灵活......我甚至无法得到它配置了我习惯的键映射,其中一些我不愿意重新/忘记,因为它们在我每天使用的其他程序中工作。

2 个答案:

答案 0 :(得分:4)

您发布的链接似乎已经回答了有关<C-b><C-B>的问题。根据{{​​3}},看起来你对<C-,>也没有好运,因为这个组合键不在Vim可以检测到的Ctrl-printable-key和弦列表中(可能因为它不是甚至是可打印的ASCII和弦?)。

<C-S-w>之类的关键组合非常 un-Vim-like ,因为它们会破坏模态编辑器的效率。当然,有时需要<CTRL> - 转义组合(例如,对于omnicompletion,例如<C-x> - <C-o>的插入模式映射),但对于诸如此类的操作不是这种情况。撤消和重做。

对不起,这个回复不会让你满意,但从长远来看,“以Vim的方式做”可以获得很多,而不是试图让Vim屈服于你的意愿。

答案 1 :(得分:0)

尝试将set nocompatable添加到您的vimrc。没有这个你基本上运行vi比vim更受限制。这应该允许您映射<C-S-r><F11>或您想要的任何其他内容。 Tjameson是完全正确的。使用它们存在的默认映射要好得多。