nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 0cb999c070b2573adcd586490fbd20cbd3a62d25
parent 7954eac0063d1d0d91046b2d2f889fe4ea160a13
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date:   Tue, 26 Apr 2016 09:05:57 +0100

Merge pull request #550 from wincent/keepalt

Make window creation command configurable
Diffstat:
Mdoc/NERD_tree.txt | 14++++++++++++++
Mlib/nerdtree/creator.vim | 3++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/doc/NERD_tree.txt b/doc/NERD_tree.txt
@@ -679,6 +679,9 @@ NERD tree. These options should be set in your vimrc.
                                 a buffer when a file is being deleted or renamed
                                 via a context menu command.
 
+|'NERDTreeCreatePrefix'|        Specify a prefix to be used when creating the
+                                NERDTree window.
+
 ------------------------------------------------------------------------------
 3.2. Customisation details                             *NERDTreeOptionDetails*
 
@@ -1010,6 +1013,17 @@ option: >
     let NERDTreeAutoDeleteBuffer=0
     let NERDTreeAutoDeleteBuffer=1
 <
+------------------------------------------------------------------------------
+                                          *'NERDTreeCreatePrefix'*
+Values: Any valid command prefix.
+Default: "silent".
+
+Internally, NERDTree uses the |:edit| command to create a buffer in which to
+display its tree view. You can augment this behavior by specifying a prefix
+string such as "keepalt" or similar. For example, to have NERDTree create its
+tree window using `silent keepalt keepjumps edit`:
+    let NERDTreeCreatePrefix='silent keepalt keepjumps'
+<
 
 ==============================================================================
 4. The NERD tree API                                             *NERDTreeAPI*
diff --git a/lib/nerdtree/creator.vim b/lib/nerdtree/creator.vim
@@ -96,7 +96,8 @@ function! s:Creator.createWindowTree(dir)
 
     "we need a unique name for each window tree buffer to ensure they are
     "all independent
-    exec "silent edit " . self._nextBufferName()
+    let prefix = get(g:, "NERDTreeCreatePrefix", "silent")
+    exec prefix . " edit " . self._nextBufferName()
 
     call self._createNERDTree(path, "window")
     let b:NERDTree._previousBuf = bufnr(previousBuf)