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

时间:2015-06-07 14:39:48

标签: vim

在给定的文本文件中,我想处理一个"过滤后的视图" (隐藏带有图案的线条),但仍然能够编辑可见线条:过滤只会影响某些线条的可见性,一旦我重置过滤器,隐藏的线条就会再次出现。

我可以将我描述的功能与&命令中的less键进行比较(当然,less无法编辑文件。内容):

  • &some_pattern <RETURN>启动新过滤器,
  • & <RETURN>重置过滤器。

这样的功能是存在于vim,本机还是作为插件?

2 个答案:

答案 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