はじめに
dired-hacksというツール群がある.
diredの機能を強化し,より便利にするelisp群というわけである.
詳細は上記ページのREADMEやソースを読み、自分で試せばすぐに分かるわけだが,
以下,備忘録を兼ねてメモを残しておく.
私自身全てを試したわけでもないが,使って便利だ・おもしろいと感じたものを紹介する.
ちなみにソースの一部はMELPAからインストール可能な状態である.
紹介
##dired-filter.el
diredバッファをフィルタリングする.
以下のようにキーバインドが用意されている (dired-filter-map
参照).
キーバインド | 説明 |
---|---|
/ n |
名前でフィルタリング (dired-filter-by-name ) |
/ r |
正規表現でフィルタリング (dired-filter-by-regexp ) |
/ . |
拡張子でフィルタリング (dired-filter-by-extension ) |
/ h |
ドットで始まるファイルを隠す (dired-filter-by-dot-files ) |
/ o |
dired-omit-mode によるフィルタリング (dired-filter-by-omit ) |
/ e |
説明がめんどくさいので割愛 (dired-filter-by-predicate ) |
/ f |
ファイルだけ表示 (dired-filter-by-file ) |
/ d |
ディレクトリだけ表示 (dired-filter-by-directory ) |
/ m |
メジャーモードでフィルタリング (dired-filter-by-mode ) |
上記以外にもキーバインドが用意されている(マーク用など).
フィルタリングの結果はスタックされる.
例えば,ファイル名でフィルタをかけた後、さらにメジャーモードでフィルタをかける、といった具合である.
スタック構造を持っているので、ポップすることでフィルタリング結果を戻すことも可能である.
またフィルタリングの結果は保存することができる.
##dired-narrow.el
diredバッファにおいて,インクリメンタルにナローイングを実行する.
正規表現を用いてナローイングする機能もある.
絞り込んだ後はマークするなり中身を開くなりと,利用価値は高い.
##dired-subtree.el
diredバッファ上でサブディレクトリを展開する機能を提供.
とにかくdemoを見れば意味がはっきりするだろう.
https://www.youtube.com/watch?v=z26b8HKFsNE
diredデフォルトではi
を押すことでサブディレクトリを展開するが,
別ディレクトリとしてdiredバッファの下側に中身が表示される.
##dired-ranger.el
dired上で「クリップボード」を介してコピーや移動を実行する.
「複数の」diredバッファ上でマークしたファイルをクリップボードにストアし,
それをtargetのdiredバッファ上でペーストするのが基本である.
(クリップボードがスタックのような構造になっているのがミソ)
すでにtargetのdiredバッファを開いているならバッファ切り替えでいいわけであり,
diredデフォルトのコピー機能の中でtargetディレクトリへのパスをいちいち選択するよりも速い.
dired-dwim-target
の利用で十分こと足りる人もいるだろうが,これはさらにそれを強化している.
##dired-open.el
dired上で各種ファイルを開く際,拡張子に応じて開くためのプログラムを「いい感じに」調整してくれる.
カスタマイズ次第でさらに化けるだろう.
#おわりに
本稿ではdired-hacks内の一部を紹介した.
今後の関連ツールの発展と共に,diredの価値はさらに高まるだろう.
diredは大変便利なので是非多くの人が利用することを期待する.