如何改变vim显示那些折叠/折叠线的方式

时间:2015-10-22 12:35:12

标签: vim editor collapse code-folding

使vim-collapse /折叠更漂亮

如何更改vim显示那些折叠/折叠线的方式(在线尾但不显示头部显示隐藏的线号)。我用google搜索并选择了vim wiki,但没有找到任何提示。

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

enter image description here

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

1 个答案:

答案 0 :(得分:5)

您可以设置功能以设置折叠文字

尝试这样的事情:

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做差异并添加1

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

expansionString基于winwidth计算

您可以在此处找到文档: http://vimdoc.sourceforge.net/htmldoc/fold.html#fold-foldtext