Merge pull request #53 from gilbertw1/feature-neotree-evil-keybindings

add simple h/j/k/l keybindings to navigate neotree
This commit is contained in:
Henrik Lissner 2017-05-06 21:31:51 +02:00 committed by GitHub
commit 404428d860
2 changed files with 42 additions and 0 deletions

View file

@ -17,3 +17,41 @@
(neotree-dir project-root)) (neotree-dir project-root))
(neotree-find path project-root))))) (neotree-find path project-root)))))
;;;###autoload
(defun +evil/neotree-collapse-or-up ()
"Collapse an expanded directory node or go to the parent node."
(interactive)
(let ((node (neo-buffer--get-filename-current-line)))
(when node
(if (file-directory-p node)
(if (neo-buffer--expanded-node-p node)
(+evil/neotree-collapse)
(neotree-select-up-node))
(neotree-select-up-node)))))
;;;###autoload
(defun +evil/neotree-collapse ()
"Collapse a neotree node."
(interactive)
(let ((node (neo-buffer--get-filename-current-line)))
(when node
(when (file-directory-p node)
(neo-buffer--set-expand node nil)
(neo-buffer--refresh t))
(when neo-auto-indent-point
(neo-point-auto-indent)))))
;;;###autoload
(defun +evil/neotree-expand-or-open ()
"Expand or open a neotree node."
(interactive)
(let ((node (neo-buffer--get-filename-current-line)))
(when node
(if (file-directory-p node)
(progn
(neo-buffer--set-expand node t)
(neo-buffer--refresh t)
(when neo-auto-indent-point
(next-line)
(neo-point-auto-indent)))
(call-interactively 'neotree-enter)))))

View file

@ -403,6 +403,10 @@ algorithm is just confusing, like in python or ruby."
:Lm "K" 'neotree-select-previous-sibling-node :Lm "K" 'neotree-select-previous-sibling-node
:Lm "H" 'neotree-select-up-node :Lm "H" 'neotree-select-up-node
:Lm "L" 'neotree-select-down-node :Lm "L" 'neotree-select-down-node
:Lm "h" '+evil/neotree-collapse-or-up
:Lm "j" 'neotree-next-line
:Lm "k" 'neotree-previous-line
:Lm "l" '+evil/neotree-expand-or-open
:Lm "v" 'neotree-enter-vertical-split :Lm "v" 'neotree-enter-vertical-split
:Lm "s" 'neotree-enter-horizontal-split :Lm "s" 'neotree-enter-horizontal-split
:Lm "c" 'neotree-create-node :Lm "c" 'neotree-create-node