5

NERDTree はビューポート disk c: に表示されます。どのディスクからファイルを開いてもかまいません。

Windowsでgvimを使用する場合、次を使用してファイルを開きます。

gvim.exe --remote-tab-silent [FILE]

_vimrc で次の行を使用して NERDTree をロードしています。

au VimEnter * NERDTree

NERDTree はどうにかしてドライブを正しいドライブに自動的に変更できますか?

4

4 に答える 4

6

実際、私の最後の答えは機能しません。NERDTree が開かれると、新しいバッファー dir で再び開かれないからです。NERDTreeFind と同様に機能する必要がありますが、トグル機能はありません。

関数を作成してキーにマッピングしたところ、vim-rails プラグインがあれば、Ruby プロジェクトを開いても完全に機能するようになりました。

これをvimrcに追加してください:

    function! NTFinderP()
    "" Check if NERDTree is open
    if exists("t:NERDTreeBufName")
        let s:ntree = bufwinnr(t:NERDTreeBufName)
    else
        let s:ntree = -1
    endif
    if (s:ntree != -1)
        "" If NERDTree is open, close it.
        :NERDTreeClose
    else
        "" Try to open a :Rtree for the rails project
        if exists(":Rtree")
            "" Open Rtree (using rails plugin, it opens in project dir)
            :Rtree
        else
            "" Open NERDTree in the file path
            :NERDTreeFind
        endif
    endif
endfunction


"" Toggles NERDTree
map <silent> <F1> :call NTFinderP()<CR>

今すぐ動作するはずです。


以下の以前の回答:

次のように(.vimrcで)NERDTreeを開くために使用するキーをマップできます:

map <silent> <F1> :NERDTreeToggle %:p:h<CR>

これにより、現在アクティブなバッファーのパスを使用して、F1 キーが NERDTree のトグル (開く/閉じる) にマップされます。バッファが開いていない場合は、現在起動されている Macvim ディレクトリで開きます。

于 2010-11-13T00:55:12.993 に答える
5

NERDTreeは、バッファを操作するためのいくつかのExコマンドを提供します(を参照 :help NERDTreeGlobalCommands)。その中には、現在開いているファイルを含むディレクトリでNERDTreeバッファを開くことを除いて:NERDTreeFind 、コマンドと同じように動作するコマンドがあります。:NERDTree

したがって、質問で説明されている目的の効果を実現するには、自動コマンドを次のように変更するだけです。

:autocmd VimEnter * NERDTreeFind
于 2010-10-12T05:44:12.410 に答える
1

私はNERDTreeのマッピングを使用しています。このようにして開くと、常に現在のディレクトリで開きます

" NERDTree mappings
 nnoremap <silent> <F9> :NERDTreeToggle <cr>
 inoremap <silent> <F9> <Esc>:NERDTreeToggle <cr>

しかし、gvim ~/other/dir/fileNERDTree のようなファイルを開くと、gvim が呼び出された場所から現在のディレクトリが開きます。したがって、これは問題の真の解決策ではありません。

おそらく、cdgvim を呼び出す前に作業ディレクトリにいると、問題が解決するでしょう。この場合、au VimEnter * NERDTreein _vimrc でさえ、あなたが見ているように動作する必要があります。

ディレクトリの変更と作業ディレクトリの設定についてはこちらをおset autochdir 読みください

于 2010-10-11T18:26:15.087 に答える
1

追加

au VimEnter,BufWinEnter * NERDTreeFind

あなたの .vimrc に。

  • VimEnter 部分は、ロード時に動作するようにします。
  • BufWinEnter を使用すると、新しいファイルを開くことができます。
  • *すべてのファイルでこれを行うように指示します
  • NERDTreeFind は実行するコマンドです

ソース: http://vimdoc.sourceforge.net/htmldoc/autocmd.html

于 2012-08-16T21:01:06.897 に答える