-
-
Save darcyparker/1441083 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"guard against sourcing the script twice | |
if exists("g:loaded_nerdtree_start_shell_mapping") | |
finish | |
endif | |
let g:loaded_nerdtree_start_shell_mapping = 1 | |
"bind 'S' to NERDTreeStartShell() | |
call NERDTreeAddKeyMap({ | |
\ 'key': 'S', | |
\ 'callback': 'NERDTreeStartShell', | |
\ 'quickhelpText': 'start a :ConqueTerm in this dir' }) | |
"change to the dir of the current node and start a :shell | |
function! NERDTreeStartShell() | |
"grab the currently selected dir node (returns | |
"the parent dir if a file is selected) | |
let n = g:NERDTreeDirNode.GetSelected() | |
"save the cwd so we can restore it after the :shell exits | |
let oldCWD = getcwd() | |
try | |
":lcd to to the selected dir and :shell out | |
exec 'lcd ' . n.path.str({'format': 'Cd'}) | |
redraw! | |
let my_terminal = conque_term#open(&shell, ['botright new', 'resize 20']) | |
"make sure we restore the cwd to its original state | |
finally | |
exec 'lcd ' . oldCWD | |
endtry | |
endfunction |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment