(Directory A in) を使用してvimでファイルを開くと、NERDTree
うまく機能します。
しかし、別のディレクトリ (ディレクトリ B) でもう 1 つのファイルを開くと、ディレクトリ B の内容を表示するように更新されません (ディレクトリ A は表示されたままです)。
NERDTree
自動的に更新できますか?
https://gist.github.com/geekontheway/2667442から:r
またはR
キーを押して現在のツリーを更新します。で自動更新にマッピングできます.vimrc
NERDTree
ウィンドウに切り替えて、押して元に戻す代わりにR、それを行うカスタム マップを使用します。
nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>
Leader設定したら、 +を押すrと更新されNERDTree
ます。
注: CtrlP も使用しているため、実際のキー マップには、 NERDTree を更新した後に CtrlP を更新する最後のステップがあります。
新しいファイルを開いた後、:NERDTreeFind
コマンドを発行するだけです。NerdTree で現在編集中のファイル ノードが選択されます。ノードが存在しない場合、NerdTree は現在のファイルのディレクトリとしてルートを持つ新しいツリーを初期化します。
自動コマンドを使用して、vim を開いているときにディレクトリを追跡できます。
au VimEnter * NERDTreeFind
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
です。