我喜欢用长的注释行在视觉上分隔源代码:在C ++中,我使用80个/
字符,在Python中,我使用80个#
字符,以此类推。多年来,我注意到Vim偶尔会打ic(停止响应大约半秒钟左右)当我四处走动时;今天,我发现这仅发生在我的分隔线上。
例如:
line 1
line 2
////////////////////////////////////////////////////////////////////////////////
line 4
line 5
当光标在第3行,任何运动的任何位置(上,下,向上翻页,向下,向左,向右,$
,0
,...)几乎总是表现出延迟; 在其他方面则没有。
玩这个,我发现:
- 延迟似乎上线发生,共40首或更多个符号(
/
,-
,=
,.
,#
等等)就行的任何地方,不包括_
(可能是因为下划线被包括在一个Vim的定义word
)。 - 对于更长的线路,延迟似乎没有增加。例如,每行1000个
/
字符的延迟类似于40个/
字符。 - 仅当从该行开始“新”移动时才发生延迟。使用OS键重复在行中移动不会增加延迟。
- 延迟似乎不相关的语法高亮和插件:我看到了相同的行为
vim -u NONE
,syntax off
和filetype=
。 - GUI Vim(gvim)似乎没有此问题。
我在MacBook Pro的Terminal应用程序中从macports使用MacVim 8.0,但默认的Apple提供的Vim 7.4具有相同的行为。
我在Google,Stack Overflow或Super User上都找不到任何提及,但在我的系统上可重现。
这是一个已知的问题?是否有运行时设置或构建选项来控制此设置(一行或某物上最多支持的符号),或缓解该问题的解决方法?
您是否尝试调试stackoverflow.com/questions/12213597/… 即使与插件无关也可能会揭示一些内容
—
迈克尔
@Michael感谢您的提示-不幸的是,我在工作中使用的vim版本没有
—
安德斯·约翰逊
profile
支持。在家里,我从macports升级到了最新的MacVim,以对其进行测试,但这实际上解决了延迟问题。我仍然对解决此问题感兴趣,因为我无法更改工作中提供的版本。