2012-06-29 17 views
5

Copyコマンドのメニューオプションが表示されません。ここで私は私のWindows 7マシン上で参照メニューは次のとおりです。Windows 7のNerdTreeコピーコマンド

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

プラグインdocumentationによると、Copyコマンドは、すべてのプラットフォームでサポートされていません。

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

これは誰でもWindowsで動作させることができましたか?

+0

あなたはすでにそのプロンプトで 'c'を押してみましたか? – mraaroncruz

+0

はい、「c」を押しても効果はありません。 –

+1

[他の人も同じ問題に直面しています](https://github.com/scrooloose/nerdtree/issues/152)誰も気にしないようです。また、NERDTreeの著者による[this post](http://got-ravings.blogspot.fr/2008/07/windows-copying-commands-suck-giant.html)を参照してください。 – romainl

答えて

2

この問題の根本的な原因は、この(ht romainl)に詳しく説明されています(カラフルではありません)。 msygitと一緒に出荷されたcp.exeを使用して解決策を見つけることができました。

cp.exeがあなたのパスに

cp.exeファイルが<GIT_HOME>\binディレクトリで見つけることができていることを確認します。私のパスには、自分のパスのディレクトリに `` \ bin directory. So I copied cp.exe and msys-1.0.dll`が含まれていませんでした。 g:NERDTreeCopyCmd変数

を設定

_vimrcファイル

let g:NERDTreeCopyCmd= 'cp -r ' 

の最後に以下の行を追加します。s:Path.copy機能の実装を修正。

(あなたはvimのプラグインを管理するための病原体を使用と仮定して)ライン~/vimfiles/bundle/nerdtree/plugin/NERD_tree.vimの2297年から2299年を置き換え

  • ラインに

    下の行では2297年から2299年

    let dest = s:Path.WinToUnixPath(a:dest) 
    
    let cmd = g:NERDTreeCopyCmd . " " . escape(self.str(), s:escape_chars) . " " . escape(dest, s:escape_chars) 
    
  • を交換してください

    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

このヒントは、そのままでは機能しません。 vimfiles/bundle/nerdtree/lib/nerdtree/path.vimを166行目で編集する必要があります。 "s:running_windows"の代わりに "nerdtree#runningWindows()"を使用してください – tharibo

2

私はそれが

let g:NERDTreeCopyCmd= 'cp -r'

おかげでVimのためにこの行を追加する次にGow

choco install -y gow

をインストールすることで、作業ました:https://github.com/scrooloose/nerdtree/issues/152

PS:チョココマンドはhttps://chocolatey.org/

から来ているの
+0

これは機能します!しかし、コピーしようとしているファイルにスペースが入っていると、 'NERDTree:ノードをコピーできませんでした 'というエラーが表示されます...これについてのアドバイスはありますか? –