helm-ag.el
provides interfaces of The Silver Searcher with helm.
- Emacs 24 or higher
- helm 1.5.6 or higher
- The Silver Searcher 0.25 or higher.
I suppose you can use older version ag however if you want to use all features of helm-ag, please upgrade ag version.
helm-ag
is available on MELPA and MELPA stable
You can install helm-ag
with the following command.
M-x package-install [RET] helm-ag [RET]
Input search word with ag
command. You can change search directory
with C-u
prefix.
Same as helm-ag
except to search only current file
Search with ag
like helm-do-grep
. You can specify extra command line option
of ag
with minus prefix(C--
).
Call helm-ag
at project root. helm-ag
seems directory as project root where
there is .git
or .hg
or .svn
.
Call helm-do-ag
at project root.
Move to point before jump
Clear context stack
You can see file content temporarily by persistent action(C-j
).
Pattern: -Gmd$ search_pattern
Command line options is -Gmd$
and search pattern is search_pattern
.
helm-ag
treats words which starts with -
as command line option.
Pattern: foo bar baz
Search pattern is foo bar baz
. You need not to wrap pattern with quotes.
Pattern: -- --count
Search pattern is --count
.
helm-ag
treats words after --
as search pattern.
Base command of ag
.
Command line option of base command.
Insert thing at point as default search pattern, if this value is non nil
.
You can set the parameter same as thing-at-point
(Such as 'word
, symbol
etc).
Enable fuzzy matching.
If this value is 'file-line
, helm-ag
displays candidate as helm file-line
style.
Use grep-find-ignored-files
and grep-find-ignored-directories
as ignore pattern.
They are specified to `--ignore' options."
Always set extra command line option of ag
in helm-do-ag
if this value is non-nil.
Save buffers you edit at editing completed.
helm-ag-map
and helm-do-ag-map
are inherited by helm-map
.
Key | Action |
---|---|
C-c o |
Open other window |
C-l |
Search in parent directory |
C-c C-e |
Switch to edit mode |
C-x C-s |
Save ag results to buffer |
C-c ? |
Show help message |
Key | Action |
---|---|
C-c C-c |
Commit changes |
C-c C-k |
Abort |
You can use next-error
and previous-error
for seeing file content which
current line indicates.
(custom-set-variables
'(helm-ag-base-command "ag --nocolor --nogroup --ignore-case")
'(helm-ag-command-option "--all-text")
'(helm-ag-insert-at-point 'symbol))
helm-ag.el with the platinum searcher or ack
helm-ag.el
can work the platinum searcher or ack instead of the silver searcher.
It is difficult to install the silver search on some platform such as Windows,
while it is easy to install the platinum searcher because it is written in
go language and its author provides binaries for some platforms. And ack is
written in Perl.
Please add following configuration if you use helm-ag
with the platinum searcher.
(custom-set-variables
'(helm-ag-base-command "pt --nocolor --nogroup"))
or using ack
(custom-set-variables
'(helm-ag-base-command "ack --nocolor --nogroup"))
For projectile users
You can use helm-ag
with projectile
by following command.
(defun projectile-helm-ag ()
(interactive)
(helm-ag (projectile-project-root)))
ag.el provides M-x grep
interface.
Also it can work without helm.