Vim:是否可以对文件进行过滤视图?

Vim:是否可以对文件进行过滤视图?,vim,Vim,在给定的文本文件中,我希望使用过滤视图隐藏带有图案的线,但仍然能够编辑可见线:过滤只会影响某些线的可见性,并且只要重置过滤器,隐藏线就会再次出现 我描述的功能可以与less命令中的&key进行比较,当然,less不能编辑文件的内容: &某些模式会启动一个新的过滤器, &重置过滤器。 vim中是否存在这样一个特性,是以本机方式还是以插件的形式存在?它可以通过普通vim完成,并命名为。Drew Neil对此进行了详细介绍,您可能会发现它提供了信息。这通常是通过折叠来完成的;您可以轻松定义一个“fol

在给定的文本文件中,我希望使用过滤视图隐藏带有图案的线,但仍然能够编辑可见线:过滤只会影响某些线的可见性,并且只要重置过滤器,隐藏线就会再次出现

我描述的功能可以与less命令中的&key进行比较,当然,less不能编辑文件的内容:

&某些模式会启动一个新的过滤器, &重置过滤器。
vim中是否存在这样一个特性,是以本机方式还是以插件的形式存在?

它可以通过普通vim完成,并命名为。Drew Neil对此进行了详细介绍,您可能会发现它提供了信息。

这通常是通过折叠来完成的;您可以轻松定义一个“foldexpr”,它根据正则表达式匹配过滤行;有关实现,请参阅

但是,每个浓缩区块将保留一条褶皱线。为了消除这些,我只能想到,它将选定的行传输到一个单独的暂存缓冲区。它通常只适用于单个块,但是:help NR multi-example表明这也适用于范围:

例如,在编辑配置文件之前,您决定删除所有注释 用于进行重大更改,但当您写回更改时,这些注释 将保留在您的文件中。您可以这样做:>

 :v/^#/NRP
 :NRMulti

折叠是一个非常好的工具,我一直在考虑我的问题,但我不想看到任何封闭的折叠线。。。我认为不可能隐藏它们,这对于它们的主要目标来说是一种奇怪的行为。有一个脚本使用折叠技术根据光标下的单词过滤文件:。也许没有更优雅的解决方案了…NrrwRgn插件在暂存缓冲区中为每个单独的块放置2行信息开始/结束和一个空行;但是,经过思考后,如果没有这些标记,它怎么能与折叠一起工作呢?当您尝试在块的末尾或开头添加新行时,它会有什么反应?它应该把线放在哪个街区?所以,没有完美的解决方案。