【发布时间】:2015-10-22 12:35:11
【问题描述】:
让 vim-collapse/fold 更漂亮
如何更改 vim 显示折叠/折叠行的方式(在行尾显示隐藏行号,但不在行首显示)。我用谷歌搜索并找到了 vim wiki,但没有找到任何提示。
请看图【更漂亮的vim折叠格式】
折叠样式就像图片的右手边。
【问题讨论】:
标签: vim editor collapse code-folding
如何更改 vim 显示折叠/折叠行的方式(在行尾显示隐藏行号,但不在行首显示)。我用谷歌搜索并找到了 vim wiki,但没有找到任何提示。
请看图【更漂亮的vim折叠格式】
折叠样式就像图片的右手边。
【问题讨论】:
标签: vim editor collapse code-folding
你可以设置你的函数来设置折叠文本
试试这样的:
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
然后提取注释去除标记,应使用语法的注释符号和选择的折叠标记进行改进。
expansionString 是根据 winwidth 计算的
您可以在此处找到文档: http://vimdoc.sourceforge.net/htmldoc/fold.html#fold-foldtext
【讨论】: