当在特定代码块的末尾插入可能被认为是复杂的时候,Vim需要花费一个令人烦恼的长时间插入换行符(正常模式下的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行导致相同的延迟,这使我假设已达到超时。
显示问题的视频:https://youtu.be/rCSfSASrZjQ