【发布时间】:2014-07-28 02:45:32
【问题描述】:
我一直在寻找一段时间,但我似乎无法找到有关此键命令的任何文档。随便玩玩,似乎 CTRL+Space 插入了在最后一个插入模式会话中键入的文本。
但是,发生了更微妙的事情吗?这个键命令在 vanilla Vim 中究竟做了什么?
【问题讨论】:
标签: vim
我一直在寻找一段时间,但我似乎无法找到有关此键命令的任何文档。随便玩玩,似乎 CTRL+Space 插入了在最后一个插入模式会话中键入的文本。
但是,发生了更微妙的事情吗?这个键命令在 vanilla Vim 中究竟做了什么?
【问题讨论】:
标签: vim
<C-Space> 默认在任何模式下都不做任何事情。试试:verbose map <c-space> 看看它被映射到哪里来做你看到的事情。
编辑
我不知何故忘记了that previous answer to a related question:
当你按下 <C-Space> 时,终端会向 Vim 发送一个模棱两可的信号,将其解释为 <Nul>。因为<Nul> 通常表示为<C-@>,Vim 的行为就好像你真的按下了<C-@> 并尝试插入之前插入的文本。
请注意,GVim/MacVim 中不存在此问题。
【讨论】:
.vimrc 中一定有一些我不知道的东西。谢谢!
:verbose imap <c-space>
map、nmap 和 imap 每个报告,“未找到映射。” o.0
<C-@> 做了一些事情。 <C-Space> 被终端错误地解释为向 Vim 发送虚假信息的终端,Vim 尽其所能。 Vim 根本不接收<C-Space>,所以<C-Space> 什么都不做,默认情况下不用于 Vim 中的任何命令。