(require 'dired-subtree) ;;; iを置き換え (define-key dired-mode-map (kbd "i") 'dired-subtree-insert) ;;; org-modeのようにTABで折り畳む (define-key dired-mode-map (kbd "") 'dired-subtree-remove) ;;; C-x n nでsubtreeにナローイング (define-key dired-mode-map (kbd "C-x n n") 'dired-subtree-narrow) ;;; ファイル名以外の情報を(と)で隠したり表示したり (require 'dired-details) (dired-details-install) (setq dired-details-hidden-string "") (setq dired-details-hide-link-targets nil) (setq dired-details-initially-hide nil) ;;; dired-subtreeをdired-detailsに対応させる (defun dired-subtree-after-insert-hook--dired-details () (dired-details-delete-overlays) (dired-details-activate)) (add-hook 'dired-subtree-after-insert-hook 'dired-subtree-after-insert-hook--dired-details) ;; find-dired対応 (defadvice find-dired-sentinel (after dired-details (proc state) activate) (ignore-errors (with-current-buffer (process-buffer proc) (dired-details-activate)))) ;; (progn (ad-disable-advice 'find-dired-sentinel 'after 'dired-details) (ad-update 'find-dired-sentinel)) ;;; [2014-12-30 Tue]^をdired-subtreeに対応させる (defun dired-subtree-up-dwim (&optional arg) "subtreeの親ディレクトリに移動。そうでなければ親ディレクトリを開く(^の挙動)。" (interactive "p") (or (dired-subtree-up arg) (dired-up-directory))) (define-key dired-mode-map (kbd "^") 'dired-subtree-up-dwim)