2

在 vim 中,如果您set incsearch这样做,它将滚动到当前搜索词的下一个匹配项,而无需移动光标。我经常使用它来阅读一段代码而不将光标移到那里,因为然后我可以点击<ESC>,屏幕将返回到我开始搜索时光标所在的位置。

<ESC>但是,vim 在您点击之后和滚动回光标之前会暂停。我觉得这个停顿很烦人。这个暂停背后的目的是什么,和/或这个暂停是可配置的?

4

1 回答 1

8

我假设你在终端中运行 Vim。<Esc>是许多终端转义序列的开始字符,例如光标移动或Alt/ Meta+ 其他键。如果你在配置中的某处定义了一些 alt/meta 键映射,Vim 会在你点击后稍等片刻,Esc以确保<Esc>字符不是更长序列的开始。

您可能需要:help 'timeout'相应地检查和调整设置。如果需要,您可以设置timeoutlen更短的持续时间(ttimeoutlen默认设置为 -1,因此不使用)。

编辑:如果您在 tmux 或 GNU 屏幕中运行 Vim,这可能不足以防止暂停。如果使用 tmux,请尝试添加set -s escape-time 0到您的 .tmux.conf,正如 Vicent Marti 在此处所建议的那样。如果使用 GNU 屏幕,您可能会成功添加

maptimeout 0
defc1 off

到你的 .screenrc,正如brian_ruiz 在这里所建议的那样

于 2012-06-01T19:14:36.837 回答