NERDTree はビューポート disk c: に表示されます。どのディスクからファイルを開いてもかまいません。
Windowsでgvimを使用する場合、次を使用してファイルを開きます。
gvim.exe --remote-tab-silent [FILE]
_vimrc で次の行を使用して NERDTree をロードしています。
au VimEnter * NERDTree
NERDTree はどうにかしてドライブを正しいドライブに自動的に変更できますか?
実際、私の最後の答えは機能しません。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 ディレクトリで開きます。
NERDTreeは、バッファを操作するためのいくつかのExコマンドを提供します(を参照
:help NERDTreeGlobalCommands
)。その中には、現在開いているファイルを含むディレクトリでNERDTreeバッファを開くことを除いて:NERDTreeFind
、コマンドと同じように動作するコマンドがあります。:NERDTree
したがって、質問で説明されている目的の効果を実現するには、自動コマンドを次のように変更するだけです。
:autocmd VimEnter * NERDTreeFind
私はNERDTreeのマッピングを使用しています。このようにして開くと、常に現在のディレクトリで開きます
" NERDTree mappings
nnoremap <silent> <F9> :NERDTreeToggle <cr>
inoremap <silent> <F9> <Esc>:NERDTreeToggle <cr>
しかし、gvim ~/other/dir/file
NERDTree のようなファイルを開くと、gvim が呼び出された場所から現在のディレクトリが開きます。したがって、これは問題の真の解決策ではありません。
おそらく、cd
gvim を呼び出す前に作業ディレクトリにいると、問題が解決するでしょう。この場合、au VimEnter * NERDTree
in _vimrc でさえ、あなたが見ているように動作する必要があります。
ディレクトリの変更と作業ディレクトリの設定についてはこちらをおset autochdir
読みください
追加
au VimEnter,BufWinEnter * NERDTreeFind
あなたの .vimrc に。
*
すべてのファイルでこれを行うように指示します