5

使 vim-collapse/fold 更漂亮

如何更改 vim 显示那些折叠/折叠的行的方式(在行尾显示隐藏的行号而不是行首)。我已经用谷歌搜索并找到了 vim wiki,但没有找到任何提示。

请看图片[更漂亮的vim折叠格式]

在此处输入图像描述

折叠样式就像图片的右侧一样。

4

1 回答 1

9

您可以设置功能来设置折叠文本

尝试这样的事情:

function! MyFoldText()
    let nblines = v:foldend - v:foldstart + 1
    let w = winwidth(0) - &foldcolumn - (&number ? 8 : 0)
    let line = getline(v:foldstart)
    let comment = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
    let expansionString = repeat(".", w - strwidth(nblines.comment.'"'))
    let txt = '"' . comment . expansionString . nblines
    return txt
endfunction
set foldtext=MyFoldText()

v:foldend折叠中最后一行的行号

v:foldstart 折叠中第一行的行号

nblines计算 diff 并加 1

然后提取注释去除标记,应使用语法的注释符号和选择的折叠标记进行改进。

根据expansionStringwinwidth 计算

你可以在这里找到文档:http: //vimdoc.sourceforge.net/htmldoc/fold.html#fold-foldtext

于 2015-10-22T12:53:14.263 回答