foldmethod = indent变得困惑

时间:2010-06-04 04:37:37

标签: vim folding indentation

通常对人类来说是一个很大的好处,有时vim的基于缩进的折叠会变得困惑,需要通过:set foldmethod=indent进行重置。症状包括窗口中连续折叠线的出现。

有没有办法避免这种情况发生?只是我吗?

更新

虽然我现在非常确定我已经识别了一个错误,但是那些尝试我的错误复制脚本(链接到我的回答)的人的答案将有助于实际回答我的第二个问题。如果有人可以告诉我关于修复这种粗略行为的神秘设置,他们得到25分(假设所述建议是以答案的形式表达)。实际上我想我会等一两天,以确保我不会用非bug报告纠缠vim的好人。

1 个答案:

答案 0 :(得分:1)

我设法重现了这个错误。

可以在http://gist.github.com/427303获取vimscript,它将为您的调试乐趣进行有趣的历史重演。如果一些流氓决定用Balzac引用来修改要点,我也会链接到the current revision

此时它似乎很明显是一个错误,所以我会继续报告它。我将在错误报告中引用这篇文章,因此这里报告的任何进一步信息对调试器都有用。

我正在运行vim-gnome软件包,版本'2:7.2.330-1ubuntu3'。如果我的vim安装完全搞砸了,这里是我的脚本创建的'analysis'窗口的输出:

  change: Initial setup
  line [foldlevel: contents]:
    0: '  first section'
    1: '    first subsection'
    2: ''
    0: 'second section'
    0: '  second subsection'

  change: Indent the empty-line-delimited last section
  line [foldlevel: contents]:
    0: '  first section'
    1: '    first subsection'
    2: ''
    0: '  second section'
    1: '    second subsection'

  change: Delete the empty line
  line [foldlevel: contents]:
    0: '  first section'
    1: '    first subsection'
    2: '  second section'
    1: '    second subsection'

  change: Fold things in a way that demonstrates the bug
  line [foldlevel: contents]:
    0: '  first section'
    1: '    first subsection'
    2: '  second section'
    1: '    second subsection'

修改

这是known issue