LoginSignup
2
0

More than 1 year has passed since last update.

Emacsでgrepする方法(helm-agとripgrep)

Posted at

久しぶりに使おうとするとやり方をいつも忘れているのでメモしておく.
Emacsのhelm-agからripgrepとかいう高速にgrepできるツールを使う.

事前準備

  • ripgrepのインストール(Emacsのパッケージではない.homebrewでインストールできる)
  • Emacsでhelmとhelm-agのパッケージをインストール

helm関係の設定(use-packageを使用)

;;; helm (melpa-stable)
(use-package helm
  :ensure t
  :pin melpa-stable
  :demand    ; 遅延ロードさせない
  :after migemo
  :bind (("C-x b" . helm-for-files)
         ("C-x C-f" . helm-find-files)
         ("M-x" . helm-M-x)
         ("M-y" . helm-show-kill-ring)
         :map helm-read-file-map
         ("<tab>" . helm-execute-persistent-action)
         :map helm-find-files-map
         ("<tab>" . helm-execute-persistent-action))
  :config
  (helm-mode 1)
  (helm-migemo-mode 1))    ; for migemo


;;; helm-ag (melpa-stable)
(use-package helm-ag
  :ensure t
  :pin melpa-stable
  :after helm
  :config
  (setq helm-ag-base-command "rg -S --vimgrep --no-heading"))    ; ripgrepが必要

使い方

  1. M-x helm-ag
  2. grepするワードを入力
  3. カレントディレクトリ以下を検索した結果のバッファができる

上記3のバッファでの操作

キー 操作
C-c o 別バッファで開く
C-c C-e 編集モードに入る
C-x C-s 検索結果のバッファを一時保存(保存しないとすぐ消える)

編集モード中の操作

キー 操作
C-c C-c 編集をコミット
C-c C-k 中止
C-c C-d 削除する行をマーク
C-c C-u マークを外す

一時保存したバッファでの操作

キー 操作
Ret 検索結果にジャンプ
C-o 検索結果にジャンプ(別ウィンドウ)
g 検索結果をアップデート
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0