TextMate reigns supreme with ‘Ack in Project’
The one thing holding TextMate back from Ruby / Rails domination is its horribly slow search functionality. Using ‘Search in Project’ will take what seems like an eternity to pop up any results. The only real attempt at solving this headache was to use ‘Grep in Project’, but it left a lot to be desired including search speed. Now comes the solution, ‘Ack in Project’ was a project created on GitHub back in August to use the much more efficient Ack library for searching. With enhanced output, it has given other IDEs like NetBeans and IntelliJ a swift quick to the balls as to what is the best Ruby / Rails editor.
$ cd /Applications/TextMate.app/Contents/SharedSupport/Bundles/ $ sudo git clone git://github.com/protocool/ack-tmbundle.git Ack.tmbundle
Use Ack in Project with Cmd+Shift+A



September 29th, 2008 at 5:35 pm
I’m a big Vim user, but I recently started learning Ruby on Rails and tried out Textmate. I can’t get past not having the Vim keybindings. Are there any bundles for modal editing?
September 29th, 2008 at 5:41 pm
Thats very cool, thanks a lot!
September 29th, 2008 at 5:47 pm
Cool.
But better copy it to your Library folder:
cd ~/Library/Application\ Support/TextMate/Bundles/
September 29th, 2008 at 8:13 pm
You should really be saving bundles in ~/Library/Application Support/TextMate/Bundles instead of inside the application itself.
September 30th, 2008 at 4:30 am
This was added as a plugin in Vim over a year and a half ago.
September 30th, 2008 at 4:42 am
Hi,
Thanks for the tip.
Doesn’t installing in /Applications/TextMate.app/Contents/SharedSupport/Bundles means that if you reinstall or upgrade TextMate, the Ack bundle will be lost?
I installed it in ~/Library/Application Support/TextMate/Bundles.
/stask
September 30th, 2008 at 5:45 am
[...] TextMate Reigns Supreme with ‘Ack in Project’ - Very fast full-project search bundle for TextMate. [...]
September 30th, 2008 at 6:33 am
Is there any reason to put this inside the TextMate.app folder? Wouldn’t ~/Library/Application Support/TextMate/Bundles be better?
September 30th, 2008 at 9:53 am
While the speed is impressive compared to grep in project (I just did quick test), it suffers from the same fatal flaw: it does not honor my project settings. I normally exclude the logs and everything in the vendor directory in a rails project, I only want to search in my code. I’m not familiar with how textmate bundles works, but is that something that would be hard to implement?
September 30th, 2008 at 5:16 pm
I prefer to copy it into the Application directory so that all users use the bundle instead of a user specific setting. Also then doing a copy / paste restore from Time Machine will keep my packages.
In response to the fatal flaw. You can setup a .ackrc (or something of the name) for per-project or per-user settings for omissions such as logs and vendor/plugins.
October 8th, 2008 at 2:30 am
@Justin Smestad: I don’t suppose you could post an example file for doing this…?
October 8th, 2008 at 8:27 pm
@Justin Smestad: There is no per-project .ackrc support, yet. Yet.
October 9th, 2008 at 5:32 am
@Jean-Francois Couture - it works for me (i.e. it doesn’t find things in my log directory, which my TextMate project is configured to ignore).
October 9th, 2008 at 2:08 pm
@Andy Lester: sorry to say that there is
http://github.com/protocool/ack-tmbundle/wikis/recognizing-files
October 9th, 2008 at 7:37 pm
Wow. That is excessively fast. Nice interface too.
Oh and did anyone mention that you should put bundles in…. yeah. Right.
October 9th, 2008 at 8:18 pm
Awesome. Works very well. I like “Grep in Project” but this is a nice step beyond that.
October 13th, 2008 at 4:01 pm
[...] TextMate reigns supreme with ‘Ack in Project’ | eval(code) [...]
October 13th, 2008 at 5:19 pm
What are the options for configuring ack? I tried adding a new extension to my .ackrc file but it did not pick up that change. Tried reloading TextMate, still no dice. I’d also like to set it up to exclude my log files but don’t know how.