如何在使用janus的vim中排除项目中的文件和目录?

9

我正在从Textmate转向vim(使用janus),想要从Ack中排除一些目录,以及NERDTree。

我之所以想这样做,是因为在我的一个大项目中,Ack是无用的(需要几分钟才能运行,并且不产生结果),其中包含一个充满了已序列化数据库数据的目录(有许多子目录和数十万个文件)。

我知道如何从NERDTree中排除文件(而不是目录),并从CommandT中排除模式。但这两种方法都无法解决我的Ack问题。

我是一个完全的vim新手。谢谢阅读。


1
你使用 Ack 的哪些选项?--ignore-dir=nameOfDirectory 将会忽略 nameOfDirectory - romainl
3个回答

10

实际上,ack 在多个位置查找 .ackrc 文件,而不仅仅是 ~/.ackrc。请参考 ack 文档 https://beyondgrep.com/documentation/ack-2.24-man.html#ackrc_location_semantics。它会查找全局、用户和项目的所有位置。 - Les Nightingill

4

对于NerdTree,使用NERDTreeIgnore设置.

至于Ack - 您可以在您的.ackrc中设置--ignore-dir标志(如Ack的man页面所述)。


2
谢谢。所以无法在每个项目的基础上从Ack中排除目录? - i2w
1
你可以创建一个封装脚本,以项目为基础设置ACK_OPTIONS,它看起来像ACK_OPTIONS=--ignore-dir=lolwut ack $1,并且使用它代替ack命令。 - lukaszkorecki
我认为这是我所能得到的最好的了,谢谢! - i2w

0

我只需要在我的顶级目录中创建一个名为.ackrc的文件,并添加以下内容:

--ignore-dir=log/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接