重新映射 Ctrl+' 以在 Vim 中的插入模式下转到行尾



在插入模式下,我无法重新映射Ctrl+'以转到行的末尾。我的vimrc文件中的这一行不起作用(似乎什么都没做):

inoremap <c-'> <end>

然而,如果我使用其他键而不是单引号,它可以很好地工作。例如,这是有效的:

inoremap <c-e> <end>

在这样的键重映射中,我需要使用不同的语法来使用单引号键吗?

由于内部处理键盘输入的方式,不幸的是,即使在GVIM中,这在今天也不可能实现。某些组合键,如Ctrl+非字母组合键无法映射,Ctrl+字母组合键与2trl+1Shift>字母组合键也无法区分。(除非你的终端为它发送了一个不同的termcap代码,而大多数都没有。)在插入或命令行模式下,尝试键入组合键。如果什么都没有发生/插入,则不能使用该组合键。这也适用于<Tab>/<C-I><CR>/<C-M>/<Esc>/<C-[>等(唯一的例外是<BS>/<C-H>。)这是一个已知的痛点,也是关于vim_dev和#vim IRC频道的各种讨论的主题。

一些人(最重要的是Paul LeoNerd Evans)希望解决这个问题(即使是支持这个问题的终端中的控制台Vim),并提出了各种建议。http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但截至今天,还没有补丁或志愿者站出来,尽管许多人表示希望在未来的Vim 8主要版本中有这个补丁或志愿者。

最新更新