From 9149bee237e3a7c6727e7850391a95d94d015a62 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 6 Oct 2016 17:18:54 +0200 Subject: [PATCH] neotree: fix keybindings in terminal emacs --- core/core-project.el | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/core/core-project.el b/core/core-project.el index 3d28eb2c1..4d142278b 100644 --- a/core/core-project.el +++ b/core/core-project.el @@ -60,24 +60,27 @@ (advice-add 'neotree-create-node :around 'doom*neotree-create-node) ;; Prevents messing up the neotree buffer on window changes (advice-add 'doom/evil-window-move :around 'doom*save-neotree) - - (map! :map neotree-mode-map - :m "\\\\" 'evil-window-prev - "ESC ESC" 'neotree-hide - "q" 'neotree-hide - [return] 'neotree-enter - "RET" 'neotree-enter - :m "J" 'neotree-select-next-sibling-node - :m "K" 'neotree-select-previous-sibling-node - :m "H" 'neotree-select-up-node - :m "L" 'neotree-select-down-node - "v" 'neotree-enter-vertical-split - "s" 'neotree-enter-horizontal-split - "c" 'neotree-create-node - "d" 'neotree-delete-node - "C-r" 'neotree-refresh - "r" 'neotree-rename-node - "R" 'neotree-change-root)) + ;; Set up bindings, because `neotree-mode-map' won't cooperate + (add-hook 'neo-after-create-hook 'doom|neotree-init-keymap) + (defun doom|neotree-init-keymap (&rest _) + (map! :map evil-motion-state-local-map + :m "\\\\" 'evil-window-prev + "ESC ESC" 'neotree-hide + "q" 'neotree-hide + [return] 'neotree-enter + "RET" 'neotree-enter + "" 'neotree-enter + :m "J" 'neotree-select-next-sibling-node + :m "K" 'neotree-select-previous-sibling-node + :m "H" 'neotree-select-up-node + :m "L" 'neotree-select-down-node + "v" 'neotree-enter-vertical-split + "s" 'neotree-enter-horizontal-split + "c" 'neotree-create-node + "d" 'neotree-delete-node + "C-r" 'neotree-refresh + "r" 'neotree-rename-node + "R" 'neotree-change-root))) (use-package projectile :config