NerdTree copy command in Windows 7
nerdtree, vim
Solution
The root cause for the issue is discussed in detail(rather colorfully) in this blog post.(ht romainl). I managed to find a solution by using the `cp.exe` shipped with msygit.
Ensure `cp.exe` is in your path
The `cp.exe` file can be found in `<GIT_HOME>\bin` directory. My path didn't not contain the `<GIT_HOME>\bin` directory. So I copied `cp.exe` and `msys-1.0.dll` to a directory in my path.
Set the `g:NERDTreeCopyCmd` variable
Add the line below to the end of the `_vimrc` file
let g:NERDTreeCopyCmd= 'cp -r '
Fix the implementation of ` s:Path.copy` function.
Replace the lines 2297-2299 of `~/vimfiles/bundle/nerdtree/plugin/NERD_tree.vim` (assuming you used pathogen for managing vim plugins)
Replace the lines 2297-2299
let dest = s:Path.WinToUnixPath(a:dest)
let cmd = g:NERDTreeCopyCmd . " " . escape(self.str(), s:escape_chars) . " " . escape(dest, s:escape_chars)
With the lines below
let dest = a:dest
let cmd = 0
if s:running_windows
let cmd = g:NERDTreeCopyCmd . '"' . self.str() . '" "' . dest . '"'
else
let cmd = g:NERDTreeCopyCmd . " " . escape(self.str(), s:escape_chars) . " " . escape(dest, s:escape_chars)
endif
Problem
I don't see the menu option for `Copy` command. Here is the menu that I see on my Windows 7 machine: ``` NERDTree Menu. Use j/k/enter and the shortcuts indicated ========================================================== > (a)dd a childnode (m)ove the curent node (d)elete the curent node ``` According to the plugin documentation, the `Copy` command is not supported on all platforms. ``` A textual filesystem menu is provided which allows you to create/delete/move file and directory nodes as well as copy (for supported OSs) ``` Has anybody managed to get this to work in Windows?