direx-project + popwinで快適なディレクトリツリー環境を構築する
Emacsでディレクトリツリーを表示させるパッケージにはいくつかの選択肢があります。neotreeが人気のようですが表示幅が自由にカスタマイズできないのでiconモードで使うとややストレスです。私は、direxが使いやすいので愛用しています。
例によってパッチワークですが、設定を公開します。特徴として以下の機能を持ちます。
- フォルダー表示はビジュアルにしたいのでunicodeの絵文字を使う。
- popwinを使うことで表示幅を自由に設定できる。(q または C−g で隠せる)
- project内にいるなら、direx-projectを起動し、そうでなければ普通にdirexを起動する(これが気に入っています)
- https://blog.shibayu36.org/entry/2013/02/12/191459
設定
;; direx
(use-package direx)
(setq direx:leaf-icon " " direx:open-icon "📂" direx:closed-icon "📁")
(push '(direx:direx-mode :position left :width 35 :dedicated t)
popwin:special-display-config)
;; use direx-project.el
;; https://blog.shibayu36.org/entry/2013/02/12/191459
(bind-key
[f11]
(defun direx:jump-to-project-directory ()
"If in project, launch direx-project otherwise start direx."
(interactive)
(let ((result (ignore-errors
(direx-project:jump-to-project-root-other-window)
t)))
(unless result
(direx:jump-to-directory-other-window)))))