如何更改 vim 显示那些折叠/折叠线的方式?我希望它在行尾而不是头部显示隐藏的行号。我用谷歌搜索并搜索了 vim wiki,但没有找到任何提示。
折叠样式就像图片的右侧。
您可以使用此博客文章中描述的方法:
function! NeatFoldText()
let line = ' ' . substitute(getline(v:foldstart), '^\s*"\?\s*\|\s*"\?\s*{{' . '{\d*\s*', '', 'g') . ' '
let lines_count = v:foldend - v:foldstart + 1
let lines_count_text = '| ' . printf("%10s", lines_count . ' lines') . ' |'
let foldchar = matchstr(&fillchars, 'fold:\zs.')
let foldtextstart = strpart('+' . repeat(foldchar, v:foldlevel*2) . line, 0, (winwidth(0)*2)/3)
let foldtextend = lines_count_text . repeat(foldchar, 8)
let foldtextlength = strlen(substitute(foldtextstart . foldtextend, '.', 'x', 'g')) + &foldcolumn
return foldtextstart . repeat(foldchar, winwidth(0)-foldtextlength) . foldtextend
endfunction
set foldtext=NeatFoldText()
Run Code Online (Sandbox Code Playgroud)
有很多,变种,实际上,甚至还有一个关于这个主题的vimcast。