在 Vim 中重新映射 Ctrl+' 以在插入模式下转到行尾
Remap Ctrl+' to go to end of line in Insert mode in Vim
在插入模式下,我无法重新映射 Ctrl+' 以转到行尾。我的 vimrc 文件中的这一行不起作用(似乎根本没有做任何事情):
inoremap <c-'> <end>
但是,如果我使用其他键而不是单引号,它就可以正常工作。例如,这有效:
inoremap <c-e> <end>
我是否需要使用不同的语法才能在像这样的键重映射中使用单引号键?
由于键盘输入的内部处理方式,不幸的是,即使在 GVIM 中,这在今天通常也是不可能的。某些组合键,如 Ctrl + 非字母不能映射,以及 Ctrl + 字母与 Ctrl + Shift + 无法区分字母。 (除非您的终端为它发送一个不同的 termcap 代码,大多数情况下不会。)在插入或命令行模式下,尝试输入组合键。如果没有任何反应/插入,则不能使用该组合键。这也适用于 <Tab>
/ <C-I>
、<CR>
/ <C-M>
/ <Esc>
/ <C-[>
等(唯一的例外是 <BS>
/ <C-H>
.) 这是一个已知的痛点,也是 vim_dev 和 #vim IRC 频道上各种讨论的主题。
有些人(最重要的是 Paul LeoNerd Evans)想要解决这个问题(甚至对于支持此功能的终端中的控制台 Vim),并提出了各种建议,cp。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8
但是截至今天,还没有补丁或志愿者出现,尽管许多人表示希望在未来 Vim 8 主要版本中拥有它。
在插入模式下,我无法重新映射 Ctrl+' 以转到行尾。我的 vimrc 文件中的这一行不起作用(似乎根本没有做任何事情):
inoremap <c-'> <end>
但是,如果我使用其他键而不是单引号,它就可以正常工作。例如,这有效:
inoremap <c-e> <end>
我是否需要使用不同的语法才能在像这样的键重映射中使用单引号键?
由于键盘输入的内部处理方式,不幸的是,即使在 GVIM 中,这在今天通常也是不可能的。某些组合键,如 Ctrl + 非字母不能映射,以及 Ctrl + 字母与 Ctrl + Shift + 无法区分字母。 (除非您的终端为它发送一个不同的 termcap 代码,大多数情况下不会。)在插入或命令行模式下,尝试输入组合键。如果没有任何反应/插入,则不能使用该组合键。这也适用于 <Tab>
/ <C-I>
、<CR>
/ <C-M>
/ <Esc>
/ <C-[>
等(唯一的例外是 <BS>
/ <C-H>
.) 这是一个已知的痛点,也是 vim_dev 和 #vim IRC 频道上各种讨论的主题。
有些人(最重要的是 Paul LeoNerd Evans)想要解决这个问题(甚至对于支持此功能的终端中的控制台 Vim),并提出了各种建议,cp。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8
但是截至今天,还没有补丁或志愿者出现,尽管许多人表示希望在未来 Vim 8 主要版本中拥有它。