自定义折叠行文本

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()

转载于:https://www.cnblogs.com/reaper-spring/archive/2013/05/13/3076274.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值