brain initiation

This commit is contained in:
2025-11-05 09:18:11 +01:00
commit 933aa8a985
191 changed files with 6203 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
:PROPERTIES:
:ID: f3aaa9f1-525b-4ae6-9dce-efe22c8b2107
:END:
#+title: neotree
#+filetags: :EMACS:
Neotree is a package in [[id:5f1df0e1-384f-4685-ae1e-fec2431b04e5][emacs]] that displays the directory tree of directories. Quasi a visualization of [[id:50326e0d-4ae7-46b3-bcda-27c47f0fe569][dired]].
Installed by:
(add-to-list 'load-path "/some/path/neotree")
(require 'neotree)
(global-set-key [f8] 'neotree-toggle)
(setq neo-smart-open t)
and can be modified with [[id:163e2614-cce0-4e66-a593-a2113a7b3cd1][evil-mode]] in case of complications:
* Use with evil mode
If you use evil-mode, by default some of evil key bindings conflict with neotree-mode keys. For example, you cannot use q to hide NeoTree. To make NeoTree key bindings in effect, you can bind those keys in evil-normal-state-local-map in neotree-mode-hook, as shown in below code:
#+begin_src emacs-lisp
(add-hook 'neotree-mode-hook
(lambda ()
(define-key evil-normal-state-local-map (kbd "TAB") 'neotree-enter)
(define-key evil-normal-state-local-map (kbd "SPC") 'neotree-quick-look)
(define-key evil-normal-state-local-map (kbd "q") 'neotree-hide)
(define-key evil-normal-state-local-map (kbd "RET") 'neotree-enter)
(define-key evil-normal-state-local-map (kbd "g") 'neotree-refresh)
(define-key evil-normal-state-local-map (kbd "n") 'neotree-next-line)
(define-key evil-normal-state-local-map (kbd "p") 'neotree-previous-line)
(define-key evil-normal-state-local-map (kbd "A") 'neotree-stretch-toggle)
(define-key evil-normal-state-local-map (kbd "H") 'neotree-hidden-file-toggle)))
#+end_src
In recent versions of evil-mode you can create key bindings for specific modes using evil-define-key, so another way to override mappings in neotree-mode is as shown below:
#+begin_src emacs-lisp
(evil-define-key 'normal neotree-mode-map (kbd "TAB") 'neotree-enter)
(evil-define-key 'normal neotree-mode-map (kbd "SPC") 'neotree-quick-look)
(evil-define-key 'normal neotree-mode-map (kbd "q") 'neotree-hide)
(evil-define-key 'normal neotree-mode-map (kbd "RET") 'neotree-enter)
(evil-define-key 'normal neotree-mode-map (kbd "g") 'neotree-refresh)
(evil-define-key 'normal neotree-mode-map (kbd "n") 'neotree-next-line)
(evil-define-key 'normal neotree-mode-map (kbd "p") 'neotree-previous-line)
(evil-define-key 'normal neotree-mode-map (kbd "A") 'neotree-stretch-toggle)
(evil-define-key 'normal neotree-mode-map (kbd "H") 'neotree-hidden-file-toggle)
#+end_src
* Keybindings
Only in Neotree Buffer:
n next line, p previous line。
SPC or RET or TAB Open current item if it is a file. Fold/Unfold current item if it is a directory.
U Go up a directory
g Refresh
A Maximize/Minimize the NeoTree Window
H Toggle display hidden files
O Recursively open a directory
C-c C-n Create a file or create a directory if filename ends with a /
C-c C-d Delete a file or a directory.
C-c C-r Rename a file or a directory.
C-c C-c Change the [[id:673d1cb1-536b-42f1-a046-40a8937c4283][root]] directory.
C-c C-p Copy a file or a directory.