1)我的 .vimrc 中有一个 fold expr(参见 :help fold-expr 部分下的第三个示例),它可以折叠由空行分隔的段落:
set foldmethod=expr
set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1
我的大部分文件都是带有段落的文件(以我的 .vimrc 开头)
2)但我有两个或三个文本文件,它们只是没有段落的列表,我希望能够折叠除与我的搜索匹配之外的所有内容。我在 Vim Wikia (Tip 282) 中找到了我想实现的以下“简单折叠”(在提示页面的底部):
:set foldexpr=getline(v:lnum)!~@/
:nnoremap <F8> :set foldmethod=expr<CR><Bar>zM
我怎样才能让它们在我的 .vimrc 中和平共存?
- setlocal(对于第二个 foldexpr)是解决方案吗?试过了,失败了……</li>
- 是否可以让折叠表达式(第二个)仅适用于两个文件(file1.txt,file2.txt)?
- 是否可以将 2 个 foldexpr 合并为一个?
谢谢你的帮助