将 ctrl-backspace 映射到终止符

将 ctrl-backspace 映射到终止符

我最近开始使用 Vim。从以前的编辑器中,我习惯通过按Ctrl-删除整个单词Backspace。查看文档后,我发现这是通过按Vim 中的Ctrl-完成的w。问题是,习惯了按Ctrl-后w,每次我拼错一个单词时,我都会关闭标签和聊天(在写这个问题时,我关闭了这个标签 5 次)。所以我检查了如何在 Vim 中映射键并尝试了这个:

:imap <C-BS> <C-w>

不幸的是,它不起作用。经过一番研究,我发现终端无法区分Ctrl-BackspaceBackspace。我看到了一些解决这个问题的黑客和补丁,但我无法让它们在终结者(我想要使用的模拟器)上运行。

在 Vim 中使用终结符时,有没有办法映射Ctrl- Backspace

答案1

由于键盘输入的内部处理方式,遗憾的是,目前这通常无法实现。某些组合键(如Ctrl+ 非字母)无法映射,并且无法区分Ctrl+ 字母与Ctrl+ Shift+ 字母。(除非您的终端发送不同的术语表代码,大多数人没有。)在插入或命令行模式下,尝试输入组合键。如果没有任何反应 / 插入,则无法使用该组合键。这也适用于<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 主要版本中拥有这一点。

相关内容