高速検索「ag」コマンドを使う

スポンサーリンク

grepコマンドみたいな感じで、高速に動作する「ag」コマンドを使えるようにしたので、備忘録を残す。

インストール

インストールガイド等は 下記URLの公式 README を参照。

GitHub - ggreer/the_silver_searcher: A code-searching tool similar to ack, but faster.
A code-searching tool similar to ack, but faster. Contribute to ggreer/the_silver_searcher development by creating an account on GitHub.

1.macOS

Homebrewで下記コマンドでインストール

$ brew install ag

2.msys2(Windows)

pacman -Ss silverコマンドでパッケージ検索して確認。

(結果)

mingw32/mingw-w64-i686-ag 0.31.0.r1666.0e577cc-1
    The Silver Searcher: An attempt to make something better than ack, which
    itself is better than grep (mingw-w64)
mingw64/mingw-w64-x86_64-ag 0.31.0.r1666.0e577cc-1
    The Silver Searcher: An attempt to make something better than ack, which
    itself is better than grep (mingw-w64)

パッケージ名が確認できたので、32bit/64bit使うのをインストール。私はmingw32環境なので下記。

$ pacman -S mingw-w64-i686-ag

mingw64環境の場合は下記。

$ pacman -S mingw-w64-x86_64-ag

3.Ubuntu 18.04/16.04 LTS Server

$ sudo apt install silversearcher-ag

4.Windows

・winget

> winget install "The Silver Searcher"

・Win32/64 ビルド済みEXE実行ファイル。下記URLサイトから取得できる。

GitHub - k-takata/the_silver_searcher-win32: The silver searcher Win32 unofficial daily builds
The silver searcher Win32 unofficial daily builds. Contribute to k-takata/the_silver_searcher-win32 development by creating an account on GitHub.

ヘルプ表示

$ ag --help

使用例

カレントディレクトリ以下を検索

$ ag hogehoge

特定ディレクトリ以下を検索

$ ag hogehoge /hoge/directory

Emacsでのキーバインド定義

下記を初期設定ファイルに定義。

(global-set-key (kbd "C-c a") 'helm-do-ag)

除外対象を ~/.agignore に設定

デフォルトだと探して欲しくないファイルやディレクトリの中まで対象になってしまうので、検索してほしくない対象を下記のように ~/.agignore に書いておくことで、それらを除外して検索することができる。(気が利く~^^)

*.bak
*.map
Dependencies

所感

grepより、かなり高速!! 以下の記事でEmacsとの連携を紹介していく。

【Emacs】agで高速検索する(helm-do-ag)
以前の記事で、高速検索「ag」のインストールを紹介した。Emacsから、この「ag」コマンドを使って、高速検索を実行する。helm-do-agを実行Emacsにhelmがインストールしてあれば「helm-do-ag」機能が使え...

参考

  1. ag(The Silver Searcher)をインストール – Qiita
  2. ag (The Silver Searcher) コマンド覚え書き – Qiita
  3. The Silver Searcher のススメ – Qiita
  4. ag の検索で除外設定を使う

コメント

タイトルとURLをコピーしました