- dired-subtree 20160920.130(in MELPA)
- Insert subdirectories in a tree-like fashion
dired-subtree インストール
このパッケージはmelpaにあるので パッケージの初期設定 を行ってください。
M-x package-refresh-contents
M-x package-install dired-subtree
dired-detailsもインストールしましょう。
M-x package-install dired-details
概要
dired-subtree.el は、 dired にて
ディレクトリの直下にその内容を挿入します。
標準の「i」(dired-maybe-insert-subdir)は
diredバッファの最後尾に挿入しますが、
dired-subtree.elを使えばディレクトリの直下に挿入されます。
つまり、ディレクトリツリーらしく表示されるわけです。
たったこれだけの違いですが、表示が直観的になってわかりやすくなります。
最新版ではdired-details.el(レビュー記事) に対応したので、
本設定ではdired-details.elの設定もしておきます。
また、dired-subtreeによって表示させたサブディレクトリに対して
wdired を使うこともできます。
なお、同じ機能を持つEmacs 24.4標準の dired-hide-details-mode には
まだ対応していません。
作者がまだ24.3を使っているので対応が待たれるところです。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてdired-subtreeを使う方は
以下のコマンドを実行します。
M-x package-install dired-subtree
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name dired-subtree
設定 141222134234.dired-subtree.1.el(以下のコードと同一)
(require 'dired-subtree) ;;; iを置き換え (define-key dired-mode-map (kbd "i") 'dired-subtree-insert) ;;; org-modeのようにTABで折り畳む (define-key dired-mode-map (kbd "<tab>") '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)
実行方法
$ wget http://rubikitch.com/f/141222134234.dired-subtree.1.el $ emacs -Q -f package-initialize -l 141222134234.dired-subtree.1.el
Fig1: ディレクトリ直下に表示!
Fig2: 「(」を押して詳細を隠したところ
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。