在复杂字符串之后插入换行符时Vim很大的延迟

时间:2016-09-18 11:29:49

标签: python vim archlinux

当在特定代码块的末尾插入可能被认为是复杂的时候,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

0 个答案:

没有答案