diff --git a/doc/NERD_tree.txt b/doc/NERD_tree.txt
index 8e943a3..b3471cf 100644
--- a/doc/NERD_tree.txt
+++ b/doc/NERD_tree.txt
@@ -952,6 +952,7 @@ The latest dev versions are on github
3.0.1
- fix a bug where :NERDTreeToggle was broken unless 'hidden was set
+ - make the q mapping work with secondary (:e
style) nerd trees
- more insane refactoring and doc updates
3.0.0
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
index 65a3133..20cced1 100644
--- a/plugin/NERD_tree.vim
+++ b/plugin/NERD_tree.vim
@@ -3004,7 +3004,7 @@ function! s:bindMappings()
exec "nnoremap ". g:NERDTreeMapChdir ." :call chCwd()"
- exec "nnoremap ". g:NERDTreeMapQuit ." :NERDTreeToggle"
+ exec "nnoremap ". g:NERDTreeMapQuit ." :call closeTreeWindow()"
exec "nnoremap ". g:NERDTreeMapRefreshRoot ." :call refreshRoot()"
exec "nnoremap ". g:NERDTreeMapRefresh ." :call refreshCurrent()"
@@ -3162,7 +3162,15 @@ function! s:closeCurrentDir()
call treenode.parent.putCursorHere(0, 0)
endif
endfunction
-
+" FUNCTION: s:closeTreeWindow() {{{2
+" close the tree window
+function! s:closeTreeWindow()
+ if b:NERDTreeType == "secondary"
+ buffer #
+ else
+ wincmd c
+ endif
+endfunction
" FUNCTION: s:copyNode() {{{2
function! s:copyNode()
let currentNode = s:TreeFileNode.GetSelected()