Python 在复杂字符串后插入换行符时,Vim会有很大的延迟
当在可能被视为复杂的特定代码块末尾插入换行符时,Vim需要很长时间插入换行符(Python 在复杂字符串后插入换行符时,Vim会有很大的延迟,python,vim,archlinux,Python,Vim,Archlinux,当在可能被视为复杂的特定代码块末尾插入换行符时,Vim需要很长时间插入换行符(o,在正常模式下,或在插入模式下返回键) 我将如何确定原因并解决问题 个案资料: 在我的例子中,一个有问题的Python代码块如下所示,它包含多个双引号字符串中的单引号: for item in tree.xpath("//li"): a = item.xpath(".//div[contains(concat(' ', normalize-space(@class), ' '
o
,在正常模式下,或在插入模式下返回键)
我将如何确定原因并解决问题
个案资料:
在我的例子中,一个有问题的Python代码块如下所示,它包含多个双引号字符串中的单引号:
for item in tree.xpath("//li"):
a = item.xpath(".//div[contains(concat(' ', normalize-space(@class), ' '), ' alpha ')]/text()")[0]
b = item.xpath(".//div[contains(concat(' ', normalize-space(@class), ' '), ' betahaus ')]/text()")[0]
c = item.xpath(".//div[contains(concat(' ', normalize-space(@class), ' '), ' capitalism ')]/text()")[0]
d = item.xpath(".//div[contains(concat(' ', normalize-space(@class), ' '), ' doughnuts-of-the-realm ')]/a")[0].attrib['href']
g = item.xpath(".//span[contains(concat(' ', normalize-space(@type), ' '), ' dontcare ')]/text()")[0]
h = item.xpath(".//span[contains(concat(' ', normalize-space(@type), ' '), ' foo ')]/text()")
延迟不到一秒,但很明显
这台机器是AMD Phenom(tm)9550 2.2GHz 64位四核处理器,在Arch Linux上移动了.vimrc(因此使用Arch的vim默认值)。vim和gvim都受到影响
如果我复制粘贴定义变量的行5次,结果是大约48行,延迟是3秒长。增加到超过400行会导致相同的延迟,这让我假设已经达到超时
显示问题的视频:可能与语法突出显示有关;检查延迟是否在
:syntax off
之后消失
如果您的Vim版本(最近的版本具有“巨大”的功能)支持:syntime
命令,那么您可以深入研究;cp.:帮助:syntime
这可能会出现一种导致缓慢的模式;然后,您将联系syntax插件作者(其地址/链接到问题跟踪器,您可以在脚本标题中找到:
$VIMRUNTIME/syntax/python.vim
如果将set re=1
添加到vimrc
(即,在打开文件之前)会有什么不同吗?在SatoKatsura对插件进行评测no@stark完成-我将这个问题改写为更一般的问题。