dired をさらに快適に
細かいですが dired をさらに快適にする工夫を紹介します。
1.まずはsorterのインストール
sorter — diredを参考に設定&インストールしてください。
sorter は dired で「s」キーを押すと
- 日付によるソート
- 拡張子によるソート
- サイズによるソート
- ファイル名によるソート
をトグルしてくれる、超便利な機能です。
2.今日編集したファイルを目立たせる
dired で見たときに今日編集したファイルが目立っているとうれしいですよね。
diredを参考に以下のように設定しました。
(defface my-face-f-2 '((t (:foreground "yellow"))) nil) (defvar my-face-f-2 'my-face-f-2) (defun my-dired-today-search (arg) "Fontlock search function for dired." (search-forward-regexp (concat (format-time-string "%Y-%m-%d" (current-time)) " [0-9]....") arg t)) (add-hook 'dired-mode-hook '(lambda () (font-lock-add-keywords major-mode (list '(my-dired-today-search . my-face-f-2) ))))
3.ファイルサイズを分かりやすく
dired は各ファイルのサイズを表示してくれるのですが
/home/taro: 合計 572 -rwxr-xr-x 1 taro taro 223238 2006-12-29 12:48 .zhistory -rw------- 1 taro taro 56092 2006-12-29 14:24 .session
のように、ぱっと見サイズがわかりにくいです。
dired は ls -la の内容を表示しているのですが、ls -alh だと良いですよね。
dired には dired-listing-switches という変数があって、これに「-h」を追加すれば良さそうなのですが。
どうも前述の sorter と相性が悪いみたいです。
そこで汚いですが、以下のように書いてみました。
;; dired + sorter 時に ls の -h オプションを付加する (defadvice dired-sort-other (around dired-sort-other-h activate) (ad-set-arg 0 (concat (ad-get-arg 0) "h")) ad-do-it (setq dired-actual-switches (dired-replace-in-string "h" "" dired-actual-switches)))