(ディレクトリAの)NERDTree
を使用してvimでファイルを開くと、うまく機能します。
しかし、別のディレクトリ(ディレクトリB)にあるファイルをもう1つ開くと、ディレクトリBのコンテンツを表示するように更新されません(ディレクトリAは表示されます)。
NERDTree
を自動的に更新できますか?
From https://Gist.github.com/geekontheway/2667442 : 'r'または 'R'キーを押すだけで現在のツリーを更新できます。 .vimrcで自動更新にマップできます。
新しいファイルを開いたら、:NERDTreeFind
コマンド。 NerdTreeで現在編集中のファイルノードを選択します。ノードが存在しない場合、NerdTreeはルートを現在のファイルのディレクトリとして新しいツリーを初期化します。
Autoコマンドを使用して、vimを開いているときにディレクトリを追跡できます。
au VimEnter * NERDTreeFind
NERDTree
ウィンドウに切り替える代わりに、 R 切り替えて、私はそれを行うカスタムマップを使用します。
nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>
設定したら、 Leader + rNERDTree
を更新します。
注:CtrlPも使用しているため、実際のキーマップには、 NRDTree
2016年にこれを見た人にとって、これは私にとってはうまくいきました:
autocmd CursorHold,CursorHoldI * call NERDTreeFocus() | call g:NERDTree.ForCurrentTab().getRoot().refresh() | call g:NERDTree.ForCurrentTab().render() | wincmd w
楽しい!
NerdTreeは、どの新しいファイルが開かれても、vimが最初に開かれたディレクトリを指し続けます。
これを変更するには、カーソルをNerdTreeウィンドウ内の目的のディレクトリノードに置き、cd
を押します。
NerdTreeはコマンドラインでディレクトリの変更を確認します。
NERDTree:CWDは今:[ここに新しいディレクトリ]
これは一般的にvimの作業ディレクトリも変更することに注意してください。これは:edit somefile
のようなコマンドを実行するときに重要です。