brain initiation
This commit is contained in:
73
20230522130259-neotree.org
Normal file
73
20230522130259-neotree.org
Normal 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user