Emacs の Diredを簡易表示で開く
(dired-hide-details-mode)

ファイル管理をするとき、本当に見たい情報だけが目に入るようにしたい。
Emacsのdiredモード(Directory Editor)では、デフォルトではファイルのタイムスタンプや権限など、多くの情報が表示されます。

しかし、ファイル名を一覧したいときにはやや見にくいとも感じます。

関連記事

1. Diredの簡易表示

Emacsでディレクトリを開くと、こんな画面が現れます。

diredの表示 詳細表示 drwxr-xr-x 2 user user -rw-r–r– 1 user user 8192 Jan 15 10:30 report.txt data.csv ( キー 簡易表示 report.txt data.csv ファイル名だけが表示され、画面がすっきり
  /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の簡易表示設定は、そんな工夫のひとつです。

  1. use-packageは厳密にはパッケージ管理ツールではなく、パッケージ設定を宣言的に記述するためのマクロです。パッケージの管理自体はEmacs標準のpackage.elが行います。use-packageを使わない場合は(add-hook 'dired-mode-hook 'dired-hide-details-mode)と記述します。
  2. dired-hide-details-modeはEmacs 24.4以降で標準搭載された機能です。それ以前のバージョンでは別途dired-details.elというパッケージが必要でした。 – EmacsWiki: Dired Details
  3. dired-hide-details-modeには、シンボリックリンクのターゲット表示を制御するdired-hide-details-hide-symlink-targetsや、情報行の表示を制御するdired-hide-details-hide-information-linesなどのカスタマイズオプションもあります。 – Show/hide Emacs dired details in style