我有文本文件,它们只是没有段落的列表。当我想专注于一个项目时,我可以折叠除匹配项之外的所有内容,这要归功于 Vim Wikia(提示 282:“简单折叠”):
:set foldexpr=getline(v:lnum)!~@/
:nnoremap <F8> :set foldmethod=expr<CR><Bar>zM
这被证明是有用的:因此我可以非常清楚地看到我正在寻找的项目:它们在黑色背景上以白色显示,而在灰色 (ctermbg) 上的褶皱是深灰色 (ctermfg)。
但是有一个小故障。可能会发生(事实上,它经常发生)不包含模式的单行保留在包含模式的两行之间,例如:
1 pattern
2 not pattern
3 not pattern
4 pattern
5 not pattern
6 pattern
简单的 foldind 将折叠第 2 行和第 3 行,而不是第 5 行。
我应该如何继续隐藏这条线?
有没有办法折叠零线(这让我想起了关于一只手拍手的公案……)?我想这是不可能的。
那么,有没有办法用函数简单地隐藏线(例如,与折叠相同的突出显示)?