2012-06-29 22 views
5

Nie widzę opcji menu dla polecenia Copy. Oto menu, które widzę na moim Windows 7 maszyny:Polecenie kopiowania NerdTree w systemie Windows 7

NERDTree Menu. Use j/k/enter and the shortcuts indicated 
========================================================== 
> (a)dd a childnode 
    (m)ove the curent node 
    (d)elete the curent node 

Według wtyczki documentation, komenda Copy nie jest obsługiwany na wszystkich platformach.

A textual filesystem menu is provided which allows you to create/delete/move file 
and directory nodes as well as copy (for supported OSs) 

Czy ktoś zdołał uruchomić to w systemie Windows?

+0

Czy próbowałeś już nacisnąć 'c' w tym podpowiedzi? – mraaroncruz

+0

Tak, naciśnięcie "c" nie daje żadnego efektu. –

+1

Najwyraźniej [inni mają do czynienia z tym samym problemem] (https://github.com/scrooloose/nerdtree/issues/152), ale nikt nie wydaje się tym przejmować. Zobacz także [ten post] (http://got-ravings.blogspot.fr/2008/07/windows-copying-commands-suck-giant.html) autorstwa autora NERDTree. – romainl

Odpowiedz

2

Główna przyczyna problemu została szczegółowo omówiona (w sposób barwny) pod tym numerem blog post. (Ht romainl). Udało mi się znaleźć rozwiązanie, używając cp.exe dostarczanego z msygit.

Zapewnienie cp.exe jest na swojej drodze

Plik cp.exe można znaleźć w <GIT_HOME>\bin katalogu. Moja ścieżka nie zawierała pliku `` \ bin directory. So I copied cp.exe and msys-1.0.dll` do katalogu na mojej ścieżce.

Ustaw g:NERDTreeCopyCmd zmienna

Dodaj poniższą linię na końcu pliku

let g:NERDTreeCopyCmd= 'cp -r ' 

_vimrc Fix realizację s:Path.copy funkcji.

zastąp linie 2297-2299 z ~/vimfiles/bundle/nerdtree/plugin/NERD_tree.vim (zakładając, że patogen wykorzystywane do zarządzania plugins vim)

  • zastąp linie 2297-2299

    let dest = s:Path.WinToUnixPath(a:dest) 
    
    let cmd = g:NERDTreeCopyCmd . " " . escape(self.str(), s:escape_chars) . " " . escape(dest, s:escape_chars) 
    
  • z linii poniżej

    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 
    
+1

Ta wskazówka już nie działa, tak jak jest. Musisz edytować plik vimfiles/bundle/nerdtree/lib/nerdtree/path.vim, w linii 166. I użyj "nerdtree # runningWindows()" zamiast "s: running_windows" – tharibo

2

mam to działa instalując Gow

choco install -y gow

następnie dodanie tej linii do vim

let g:NERDTreeCopyCmd= 'cp -r'

podziękowań: https://github.com/scrooloose/nerdtree/issues/152

PS: Komenda Choco pochodzi https://chocolatey.org/

+0

To działa! Jednak pojawia się błąd 'NERDTree: Nie można skopiować węzła', gdy plik, który próbuję skopiować ma spacje w nim ... Wszelkie porady na ten temat? –

Powiązane problemy