我们将一些服务器从CentOS 5升级到CentOS 6.在所有CentOS 6服务器上,Vim(vim 7.2和7.3上的相同错误)通常会正常运行几个小时,但不可避免地会开始非常缓慢地插入字符。
首先,我输入的字符只需要一两秒钟,但是一旦缓慢显而易见,每个字符所花费的时间会呈指数增长。在输入十几个字符之后,实际上不可能再插入。您仍然可以通过键入一个字符一次插入一个字符,然后键入Ctrl-c
,之后将显示您键入的字符。非插入模式仍然可以正常工作。
设置fdm=manual
无效。只有大约100K的源代码文件才会出现此问题。我在工作时只编辑Perl源代码文件。它不会在退出并重新启动vim时消失,但总会在第二天消失,在几个小时的工作后重新出现。
设置:syntax off
解决了问题!但后来我没有语法突出显示。
Vim在运行CentOS 5的机器上的相同文件仍然可以正常工作。没有其他软件有这个问题 还有其他人见过类似的行为吗?有什么想法或解决方案吗?
答案 0 :(得分:1)
Vim语法高亮在一系列.vim文件中定义,通常在vimXX / syntax下,其中XX是vim的版本。这些文件包含定义语法高亮类的正则表达式(例如'comment'或'flow control')。我猜测减速是由一个失控的正则表达式引起的。 CentOS 6可能会修改syntax / perl.vim,这样添加单个字符可能会在正则表达式引擎内的某处引起组合爆炸。
您可以尝试使用CentOS 5中的相同文件替换syntax / perl.vim,并查看问题是否仍然存在。