vim默认的折叠文本很丑有木有,看腻了有木有,想有自己的范有木有有木有,反正我有中么办?
可以通过foldtext选项做到,每次vim折叠文本时都会调用foldtext指定的函数,所以写个折叠函数就好楼,
抛砖引玉,我的范:
1 fun! My_foldtext()"{{{ 2 let text = substitute(foldtext(), '^+--.\+:\s', '', '') 3 let text = printf('-+- %d(lev.%d) lines: %s ...', v:foldend-v:foldstart, v:foldlevel-1, text) 4 let indent_count = strdisplaywidth(matchstr(getline(v:foldstart), '^\s*')) 5 let text = repeat(' ', indent_count) . text 6 return text 7 endfun"}}}
文本会以 -+- <ln>(lev.<n>) lines: <context> ... 的形式出现,其中<ln>为折叠行数,<n>为折叠级别,<context>是被折叠文本的第一行,
这个设置还会保留被折叠文本第一行的缩进级别(前导空白),
最后表忘了set foldtext=My_foldtext()哦