Skip to content

leoliu/ack-el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 

Repository files navigation

The Simple Emacs Interface to Ack-like Tools

GNU ELPA package

This package integrates ack with Emacs. The resulting *ack* buffer is just like vanilla *grep* but results come from your tool of choice.

Not only ack, but Ack-like tools such as the silver searcher (ag), ripgrep (rg) are well supported, as are git grep and hg grep.

The program guesses good defaults -- including searching for the thing at point -- but lets you input C-u to customize the directory, commands, switches etc...

Install

Ack is part of GNU ELPA - the official package archive for Emacs:

M-x package-install RET ack RET

Usage

Just M-x ack or do something like (global-set-key (kbd "C-c C-g") 'ack).

Screenshots

  • ack
ack.png
  • git grep
ack-git-grep.png

More Usage

  • Type M-x ack and provide a pattern to search.
  • Type C-u M-x ack to search from current project root.
  • Type C-u C-u M-x ack to interactively choose a directory to search.

While reading ack command and args from the minibuffer, the following key bindings may be useful:

  • M-I => insert a template for case-insensitive file name search
  • M-G => insert a template for git grep, hg grep or bzr grep
  • M-Y => grab the symbol at point from the window before entering the minibuffer
  • TAB => completion for ack options

If you use the above keybindings very often, stick the corresponding command names in ack-minibuffer-setup-hook. The following snippet makes M-x ack insert a git|hg|bzr grep template if searching from a project root. Then it will try to insert the symbol at point.

(add-hook 'ack-minibuffer-setup-hook 'ack-skel-vc-grep t)
(add-hook 'ack-minibuffer-setup-hook 'ack-yank-symbol-at-point t)

Emacs 23

Check out the emacs23 branch.

Bugs

https://github.com/leoliu/ack-el/issues

Contributors

Phillip Lord. The original author and previous mantainer is Leo Liu.

About

Emacs Interface to Ack-like Tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published