diredをより便利にするツール群 dired-hacks

  • 40
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

dired-hacksというツール群がある.

https://github.com/Fuco1/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は大変便利なので是非多くの人が利用することを期待する.