我最近开始使用 Vim。在以前的编辑器中,我习惯于按Ctrl-删除整个单词Backspace。查看文档后,我发现这是通过在 Vim 中按Ctrl-w来完成的。问题是,在习惯按Ctrl- 之后w,每次我拼错一个单词时,我都开始关闭标签和聊天(在写这个问题时,我关闭了这个标签 5 次)。所以我检查了如何在 Vim 中映射键并尝试了这个:
:imap <C-BS> <C-w>
Run Code Online (Sandbox Code Playgroud)
不幸的是,它没有奏效。经过一番研究,我发现终端无法区分Ctrl-Backspace和Backspace. 我看到了一些黑客和补丁来解决这个问题,但我无法让他们在终结者(这是我想使用的模拟器)上工作。
有什么方法可以映射Ctrl-Backspace在 Vim 中使用终结器时?
由于键盘输入在内部处理的方式,不幸的是,这在今天通常是不可能的。某些组合键,例如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 主要版本中拥有它。
归档时间: |
|
查看次数: |
1939 次 |
最近记录: |