在给定的文本文件中,我想处理一个"过滤后的视图" (隐藏带有图案的线条),但仍然能够编辑可见线条:过滤只会影响某些线条的可见性,一旦我重置过滤器,隐藏的线条就会再次出现。
我可以将我描述的功能与&
命令中的less
键进行比较(当然,less
无法编辑文件。内容):
&some_pattern <RETURN>
启动新过滤器,& <RETURN>
重置过滤器。这样的功能是存在于vim,本机还是作为插件?
答案 0 :(得分:2)
可以使用普通的Vim完成,它的名称为folding。 Drew Neil有two screencasts关于它你可能会发现信息。
答案 1 :(得分:1)
通常用折叠完成;您可以轻松定义基于正则表达式匹配过滤行的'foldexpr'
;有关实施,请参阅Folding with Regular Expression。
但是,每个压缩块都会保留一条折叠线。为了消除这些,我只能想到NrrwRgn plugin,它将选定的行转移到一个单独的暂存缓冲区中。它通常只适用于单个块,但:help NR-multi-example
表明这也适用于范围:
例如,在编辑配置文件之前,您决定删除所有注释 用于进行重大更改但是当您将更改写回时,这些注释 将保留在您的文件中。你会这样做:&gt;
:v/^#/NRP :NRMulti