在 vim 中,如果您set incsearch
这样做,它将滚动到当前搜索词的下一个匹配项,而无需移动光标。我经常使用它来阅读一段代码而不将光标移到那里,因为然后我可以点击<ESC>
,屏幕将返回到我开始搜索时光标所在的位置。
<ESC>
但是,vim 在您点击之后和滚动回光标之前会暂停。我觉得这个停顿很烦人。这个暂停背后的目的是什么,和/或这个暂停是可配置的?
在 vim 中,如果您set incsearch
这样做,它将滚动到当前搜索词的下一个匹配项,而无需移动光标。我经常使用它来阅读一段代码而不将光标移到那里,因为然后我可以点击<ESC>
,屏幕将返回到我开始搜索时光标所在的位置。
<ESC>
但是,vim 在您点击之后和滚动回光标之前会暂停。我觉得这个停顿很烦人。这个暂停背后的目的是什么,和/或这个暂停是可配置的?
我假设你在终端中运行 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 在这里所建议的那样。