在语法打开时,Vim字符插入在Centos 6上呈指数级减慢

时间:2013-05-28 21:11:10

标签: vim syntax centos

我们将一些服务器从CentOS 5升级到CentOS 6.在所有CentOS 6服务器上,Vim(vim 7.2和7.3上的相同错误)通常会正常运行几个小时,但不可避免地会开始非常缓慢地插入字符。

首先,我输入的字符只需要一两秒钟,但是一旦缓慢显而易见,每个字符所花费的时间会呈指数增长。在输入十几个字符之后,实际上不可能再插入。您仍然可以通过键入一个字符一次插入一个字符,然后键入Ctrl-c,之后将显示您键入的字符。非插入模式仍然可以正常工作。

设置fdm=manual无效。只有大约100K的源代码文件才会出现此问题。我在工作时只编辑Perl源代码文件。它不会在退出并重新启动vim时消失,但总会在第二天消失,在几个小时的工作后重新出现。

设置:syntax off解决了问题!但后来我没有语法突出显示。

Vim在运行CentOS 5的机器上的相同文件仍然可以正常工作。没有其他软件有这个问题 还有其他人见过类似的行为吗?有什么想法或解决方案吗?

1 个答案:

答案 0 :(得分:1)

Vim语法高亮在一系列.vim文件中定义,通常在vimXX / syntax下,其中XX是vim的版本。这些文件包含定义语法高亮类的正则表达式(例如'comment'或'flow control')。我猜测减速是由一个失控的正则表达式引起的。 CentOS 6可能会修改syntax / perl.vim,这样添加单个字符可能会在正则表达式引擎内的某处引起组合爆炸。

您可以尝试使用CentOS 5中的相同文件替换syntax / perl.vim,并查看问题是否仍然存在。