- phi-search-dired 20150405.14(in MELPA)
- interactive filtering for dired powered by phi-search
概要
phi-search-dired.el は dired において
ファイル名で絞り込み機能 を提供します。
名前の通りphi-search.el(レビュー) という
独自の 正規表現isearch がベースとなっていて、
isearchでファイル名を絞り込み、
マッチしたファイルのみを表示・マークします。
本設定では標準のisearchを置き換えるためC-sに割り当てています。
使い方は、C-sで絞り込みたいファイル名の正規表現を入力します。
ここで3通りの操作方法があります。
SPCを押すとマッチしたファイルのみ表示するようになり、
RETを押すとマッチしたファイルをマークし、
C-gを押すとそのままの表示のまま抜けます。
SPCの後にさらに正規表現を入力できるので、
helmのようにガンガン絞り込めます。
SPCを押すと他のファイル名が表示されなくなりますが、
C-/ (dired-undo) で元に戻せるので安心してください。
dired標準コマンドの % m または * % (dired-mark-files-regexp) を
強化したものともいえます。
なお、 dired-filter.el(レビュー) では正規表現だけでなく
ディレクトリのみを表示したりもできます。
Fig1: 元の状態
Fig2: C-s anything (5つマッチしていることがわかる)
Fig3: ここでSPCを押すとanythingが含まれるエントリだけを表示
Fig4: ここでC-gを押すとFig3に戻り、さらにクエリを入力して絞り込み
Fig5: RETでそのエントリがマークされる
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてphi-search-diredを使う方は
以下のコマンドを実行します。
M-x package-install phi-search-dired
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name phi-search-dired
設定 150405085104.phi-search-dired.el(以下のコードと同一)
(require 'dired) (define-key dired-mode-map (kbd "C-s") 'phi-search-dired) ;;; 表示を整えるアドバイス (defun phi-search-dired-restrict-to-matches--show-all () (with-selected-window (minibuffer-selected-window) (when (re-search-backward " \\.\\./?$" nil t) (forward-line 1) (recenter nil)))) (advice-add 'phi-search-dired-restrict-to-matches :after 'phi-search-dired-restrict-to-matches--show-all)
実行方法
$ wget http://rubikitch.com/f/150405085104.phi-search-dired.el $ emacs -Q -f package-initialize -l 150405085104.phi-search-dired.el
本サイト内の関連パッケージ
- phi-search - another incremental search & replace, compatible with "multiple-cursors"
- dired-narrow - Live-narrowing of search results for dired
- dired-filter - Ibuffer-like filtering for dired
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。