Skip to content

Instantly share code, notes, and snippets.

@scrooloose
Forked from asgeo1/hax0r.vim
Created January 10, 2012 10:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save scrooloose/1588299 to your computer and use it in GitHub Desktop.
Save scrooloose/1588299 to your computer and use it in GitHub Desktop.
NERDTree custom mappings to make i and s reuse existing windows
let g:NERDTreeCustomReuseWindows = '1'
call NERDTreeAddKeyMap({
\ 'key': 'w',
\ 'scope': 'all',
\ 'callback': 'NERDTreeCustomToggleReuse',
\ 'quickhelpText': 'Toggle use existing windows' })
function! NERDTreeCustomToggleReuse()
let g:NERDTreeCustomReuseWindows = g:NERDTreeCustomReuseWindows ? 0 : 1
echomsg (g:NERDTreeCustomReuseWindows ? 'Reusing' : 'Not reusing') . ' existing windows'
endfunction
call NERDTreeAddKeyMap({
\ 'key': 'i',
\ 'scope': 'FileNode',
\ 'callback': 'NERDTreeCustomOpenSplit',
\ 'quickhelpText': 'open split reusing if able' })
function! NERDTreeCustomOpenSplit(node)
call a:node.open({'where': 'h', 'reuse': g:NERDTreeCustomReuseWindows})
endfunction
call NERDTreeAddKeyMap({
\ 'key': 's',
\ 'scope': 'FileNode',
\ 'callback': 'NERDTreeCustomOpenVSplit',
\ 'quickhelpText': 'open vsplit reusing if able' })
function! NERDTreeCustomOpenVSplit(node)
call a:node.open({'where': 'v', 'reuse': g:NERDTreeCustomReuseWindows})
endfunction
call NERDTreeAddKeyMap({
\ 'key': 't',
\ 'scope': 'FileNode',
\ 'callback': 'NERDTreeCustomOpenInTab',
\ 'quickhelpText': 'open in new tab reusing if able' })
function! NERDTreeCustomOpenInTab(node)
call a:node.open({'where': 't', 'reuse': g:NERDTreeCustomReuseWindows})
endfunction
call NERDTreeAddKeyMap({
\ 'key': 'T',
\ 'scope': 'FileNode',
\ 'callback': 'NERDTreeCustomOpenInTabSilent',
\ 'quickhelpText': 'open in new background tab reusing if able' })
function! NERDTreeCustomOpenInTabSilent(node)
call a:node.open({'where': 't', 'stay': 1, 'reuse': g:NERDTreeCustomReuseWindows})
endfunction
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment