ファイル管理をするとき、本当に見たい情報だけが目に入るようにしたい。
Emacsのdiredモード(Directory Editor)では、デフォルトではファイルのタイムスタンプや権限など、多くの情報が表示されます。
しかし、ファイル名を一覧したいときにはやや見にくいとも感じます。
1. Diredの簡易表示
Emacsでディレクトリを開くと、こんな画面が現れます。
/home/user/documents:
total used in directory 48 available 500G
drwxr-xr-x 2 user user 4096 Jan 15 10:30 .
drwxr-xr-x 25 user user 4096 Jan 10 08:15 ..
-rw-r--r-- 1 user user 8192 Jan 15 10:30 report.txt
-rw-r--r-- 1 user user 12345 Jan 14 09:20 data.csv
これはUNIX系システムのls -lコマンドと似た形式で、権限(permission)、リンク数、所有者、グループ、ファイルサイズ、更新日時、そしてファイル名が並びます。
必要な情報は、(キーを押せば、いつでも詳細表示と簡易表示を切り替えられます。
/home/user/documents:
.
..
report.txt
data.csv
そのため、diredにはdired-hide-details-modeという簡易表示モードがあります。
ファイル名だけが残り、画面がすっきりします。
2. init.elのフック設定(dired-hide-details-mode)
常に簡易表示にするには、init.elに以下のコードを追加します。
(use-package dired
:hook
(dired-mode . dired-hide-details-mode)
)Code language: CSS (css)
これはuse-packageでパッケージを追加しています1。:hookという指定で、「diredモードが起動したときに、自動的にdired-hide-details-modeも起動する」という関連付けをしています2。
フック(hook)は「特定のタイミングで別の処理を呼び出す仕組み」のことで、Emacsではモードの起動時によく使われます3。
コンピュータは多くの情報を扱えますが、人間が一度に処理できる情報量には限りがあります。必要な情報だけを表示する工夫は、小さなことですが、積み重なると作業体験を変えてくれます。
diredの簡易表示設定は、そんな工夫のひとつです。
- use-packageは厳密にはパッケージ管理ツールではなく、パッケージ設定を宣言的に記述するためのマクロです。パッケージの管理自体はEmacs標準の
package.elが行います。use-packageを使わない場合は(add-hook 'dired-mode-hook 'dired-hide-details-mode)と記述します。 - dired-hide-details-modeはEmacs 24.4以降で標準搭載された機能です。それ以前のバージョンでは別途
dired-details.elというパッケージが必要でした。 – EmacsWiki: Dired Details - dired-hide-details-modeには、シンボリックリンクのターゲット表示を制御する
dired-hide-details-hide-symlink-targetsや、情報行の表示を制御するdired-hide-details-hide-information-linesなどのカスタマイズオプションもあります。 – Show/hide Emacs dired details in style