如何让 Ack 忽略 jQuery 文件?
我正在使用 Vim + Ack.Vim,并且对如何忽略 Jquery 文件中的点击感到困惑。我已经定义了一个 .ackrc 文件(见下文),但我在黑暗中刺伤。
--type-add=ruby=.haml,.rake,.rsel,.builder
--type-add=html=.html.erb,.html.haml
--type-add=js=.js.erb
--type-add=css=.sass
--type-set=cucumber=.feature
--type-add=jquery=jquery*.js
--ignore-dir=vendor
--ignore-dir=log
--ignore-dir=tmp
--ignore-dir=doc
--ignore-dir=coverage
--sort-files
--color
--follow
--group
--nojquery
经验丰富的 ack + ack.vim 用户如何解决这个问题?
I'm using Vim + Ack.Vim and am flummoxed on how to ignore hits within Jquery files. I've got an .ackrc file defined (see below), but I'm stabbing in the dark.
--type-add=ruby=.haml,.rake,.rsel,.builder
--type-add=html=.html.erb,.html.haml
--type-add=js=.js.erb
--type-add=css=.sass
--type-set=cucumber=.feature
--type-add=jquery=jquery*.js
--ignore-dir=vendor
--ignore-dir=log
--ignore-dir=tmp
--ignore-dir=doc
--ignore-dir=coverage
--sort-files
--color
--follow
--group
--nojquery
How would seasoned ack + ack.vim users solve this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有趣的问题!我可以想到几种方法:
我让最后一个工作了。 Ack 是用 Perl 编写的,因此很容易阅读和修改。在您的系统上查找 Ack.pm。我使用 Ubuntu 11.10 并安装了 ack-grep 来获取 ack;我的 Ack.pm 位于
/usr/share/perl5/App/Ack.pm
。如果您安装了 ack 的独立版本,您将编辑的文件就称为“ack”。查找子例程is_searchable()
。这是我看到的:在上面的
return 1;
之后添加另一行:再次回到我的第一个建议(修补 ack 以允许使用文件名模式进行过滤)安迪可能会为此打补丁。
顺便说一句,您可能已经弄清楚了这一点,但您使用的
--type-add
似乎不是 ack 命令行的有效语法:它只需要文件扩展名。希望这有帮助!
Interesting problem! I can think of a few approaches:
I got the last one working. Ack is written in Perl, so it's pretty easy to read and modify. Look for Ack.pm on your system. I use Ubuntu 11.10 and installed ack-grep to get ack; my Ack.pm is found at
/usr/share/perl5/App/Ack.pm
. If you installed the stand-alone version of ack, the file you'll edit is just called "ack". Look for the subroutineis_searchable()
. Here's what I see:Add another line right after above
return 1;
:Again, going back to my first suggestion (patch ack to allow filtering with filename patterns) Andy might take a patch for this.
By the way, you probably already figured this out, but your use of
--type-add
doesn't appear to be valid syntax for the ack command line:it just expects file extensions. Hope this helps!