我正在从Textmate转向vim(使用janus),想要从Ack中排除一些目录,以及NERDTree。
我之所以想这样做,是因为在我的一个大项目中,Ack是无用的(需要几分钟才能运行,并且不产生结果),其中包含一个充满了已序列化数据库数据的目录(有许多子目录和数十万个文件)。
我知道如何从NERDTree中排除文件(而不是目录),并从CommandT中排除模式。但这两种方法都无法解决我的Ack问题。
我是一个完全的vim新手。谢谢阅读。
默认情况下,ack 只检查您的 ~/.ackrc 文件的默认开关。如果将以下内容添加到您的 .bash_profile 中,则可以拥有每个目录的 ack 设置:
export ACKRC=".ackrc"
http://www.rustyrazorblade.com/2012/03/making-better-use-of-your-ackrc-file/
对于NerdTree,使用NERDTreeIgnore
设置.
至于Ack - 您可以在您的.ackrc
中设置--ignore-dir
标志(如Ack的man页面所述)。
ACK_OPTIONS=--ignore-dir=lolwut ack $1
,并且使用它代替ack
命令。 - lukaszkorecki我只需要在我的顶级目录中创建一个名为.ackrc
的文件,并添加以下内容:
--ignore-dir=log/
--ignore-dir=nameOfDirectory
将会忽略nameOfDirectory
。 - romainl