我想在开头标记之间折叠文字,例如:
//// Block 1 ... some code 1 ... //// Block 2 ... some code 2 ...
其中////将用作开始标记并折叠////块1将折叠到////块2之前的行.
这是可能的吗?
它不喜欢它,如果我设置foldmarker没有结束参数,如果我使用////作为开始和结束标记,它会折叠太多.
我可以用zf手动创建折叠,但这些是依赖于文件的,如果你改变它就会中断.
解决方法
您可以像这样编写自己的折叠表达式:
function! BlockFolds() let thisline = getline(v:lnum) if match(thisline,'^\/\/\/\/ Block') >= 0 return ">1" else return "=" endif endfunction setlocal foldmethod=expr setlocal foldexpr=BlockFolds()
显然,您可以在.vimrc中或基于文件扩展名来源它.
您可以在此处了解自定义折叠表达式的工作原理:http://vimcasts.org/episodes/writing-a-custom-fold-expression/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。