我的文本文件只是没有段落的列表。 当我想专注于一个项目时,我能够将除了匹配之外的所有东西都折叠到我的搜索中,感谢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
简单折叠将折叠第2和第3行,而不是第5行。
我应该如何隐藏这一行呢?
有没有办法折叠零线(这让我想起一只手鼓掌的公案......)?我想这是不可能的。
那么,有没有办法用函数隐藏线条(例如与折叠相同的高亮显示)?
答案 0 :(得分:6)
尝试set
另一个选项:
set fml=0
有关此选项的详细信息:
:h 'fml'
与您的问题相关:
With the default value of
one a fold can only be closed if it takes up two or more screen lines.
Set to zero to be able to close folds of just one screen line.