Neotree は Emacs でフォルダのツリー表示ができるやつ。メンテは活発じゃないようなので、その内乗り換えたい。
Neotree でメンテされているのは dev ブランチだけど el-get の公式のレシピでは master ブランチを見ているので自前で recipe を用意してそれを使っている。
(:name emacs-neotree-dev
:website "https://github.com/jaypei/emacs-neotree"
:description "An Emacs tree plugin like NerdTree for Vim."
:type github
:branch "dev"
:pkgname "jaypei/emacs-neotree")
上に書いたレシピを使ってインストールしている。
(el-get-bundle emacs-neotree-dev)
元々設定していたが、 counsel-projectile を使ってると projectile-switch-project-action を設定していても反映されず意味がないのに気付いたので使わなくなった
https://github.com/mugijiru/.emacs.d/pull/183/files#r541843206
(setq projectile-switch-project-action 'neotree-projectile-action)
GUI で起動している時はアイコン表示しそうでない場合は ▾ とかで表示する
(setq neo-theme (if (display-graphic-p) 'icons 'arrow))
のだけど、実際に今使ってるやつだともっとグラフィカルな表示なので all-the-icons の設定で上書きしている気がするので要確認
いちいちキーバインドを覚えてられないので major-mode-hydra を使って主要なキーバインドは hydra で使えるようにしている。
とはいえ、この文書を書く前日ぐらいに設定しているのでまだ使い慣れてないというか、ほとんど使えてない。
(with-eval-after-load 'major-mode-hydra
(major-mode-hydra-define neotree-mode (:separator "-" :quit-key "q" :title (concat (all-the-icons-octicon "list-unordered") " Neotree"))
("Nav"
(("u" neotree-select-up-node "Up")
("g" neotree-refresh "Refresh")
("Q" neotree-hide "Hide"))
"File"
(("a" neo-open-file-ace-window "Ace")
("N" neotree-create-node "Create")
("R" neotree-rename-node "Rename")
("C" neotree-copy-node "Copy")
("D" neotree-delete-node "Delete")
("SPC" neotree-quick-look "Look")
;; ("d" neo-open-dired "Dired")
;; ("O" neo-open-dir-recursive "Recursive")
)
"Toggle"
(("z" neotree-stretch-toggle "Size" :toggle (not (neo-window--minimize-p)))
("h" neotree-hidden-file-toggle "Hidden file" :toggle neo-buffer--show-hidden-file-p)))))
Key | 効果 |
---|---|
u | 上のノードに移動 |
g | 再描画 |
Q | Neotree を隠す |
Key | 効果 |
---|---|
a | ファイルを開く。その際に ace-window で開く window を指定する |
N | 新しいノードを作る |
R | ノードの名前を変える |
C | ノードのコピー |
D | ノードの削除 |
SPC | クイックルック |
Key | 効果 |
---|---|
z | Neotree のサイズを大きくしたり小さくしたり |
h | 隠しファイルを表示したり隠したり |