久しぶりに使おうとするとやり方をいつも忘れているのでメモしておく.
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が必要
使い方
- M-x helm-ag
- grepするワードを入力
- カレントディレクトリ以下を検索した結果のバッファができる
上記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 | 検索結果をアップデート |