缩进折叠文本

xra*_*alf 3 vim folding

当您展开代码的嵌套级别时,嵌套代码中的折叠文本不会缩进.它从行的开头开始,+而不是开始缩进.

你知道怎么改吗?

说明图片

Pri*_*ash 6

如果您希望折叠文本缩进到与折叠的第一行相同的级别,则需要将缩进级别添加到foldtext:

function! MyFoldText()
    let indent_level = indent(v:foldstart)
    let indent = repeat(' ',indent_level)
    ...
    ...   
    return indent . txt
endfunction
Run Code Online (Sandbox Code Playgroud)

在这里,我假设字符串txt是您现有的foldtext,所以您需要做的就是将它添加到结尾indent.

但我不确定这是否是你想要实现的目标.

编辑:

现在我已经看过你的照片,我不确定这是不是你想要的.您可以尝试剥离前导空格,然后再附加到+.所以你想要的foldtext就像是indent . '+' . txt.

也许.

  • 对于其他人来说,`foldtext()`是返回默认foldtext的函数.所以`return indent.foldtext()`将返回使用但缩进的默认foldtext.此外,您需要在某处键入`let foldtext = MyFoldText()`才能使用此自定义函数. (2认同)