56

(Directory A in) を使用してvimでファイルを開くと、NERDTreeうまく機能します。

しかし、別のディレクトリ (ディレクトリ B) でもう 1 つのファイルを開くと、ディレクトリ B の内容を表示するように更新されません (ディレクトリ A は表示されたままです)。

NERDTree自動的に更新できますか?

4

6 に答える 6

94

https://gist.github.com/geekontheway/2667442から:rまたはRキーを押して現在のツリーを更新します。で自動更新にマッピングできます.vimrc

于 2013-10-05T11:41:57.897 に答える
9

NERDTree を更新するためのキーマップ

NERDTreeウィンドウに切り替えて、押して元に戻す代わりにR、それを行うカスタム マップを使用します。

nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>

Leader設定したら、 +を押すrと更新されNERDTreeます。


注: CtrlP も使用しているため、実際のキー マップには、 NERDTree を更新した後に CtrlP を更新する最後のステップがあります。

于 2016-10-22T21:39:07.200 に答える
5

新しいファイルを開いた後、:NERDTreeFindコマンドを発行するだけです。NerdTree で現在編集中のファイル ノードが選択されます。ノードが存在しない場合、NerdTree は現在のファイルのディレクトリとしてルートを持つ新しいツリーを初期化します。

自動コマンドを使用して、vim を開いているときにディレクトリを追跡できます。

au VimEnter * NERDTreeFind

于 2011-12-22T07:07:59.660 に答える
2

2016年にこれを見た人にとって、これは私にとってはうまくいきました:

autocmd CursorHold,CursorHoldI * call NERDTreeFocus() | call g:NERDTree.ForCurrentTab().getRoot().refresh() | call g:NERDTree.ForCurrentTab().render() | wincmd w

楽しみ!

于 2016-09-16T06:58:48.387 に答える
1

NerdTree は、新しいファイルが開かれても、vim が最初に開かれたディレクトリを指し続けます。

変更するには、NerdTree ウィンドウ内の目的のディレクトリ ノードにカーソルを置き、 を押しcdます。

NerdTree は、コマンド ラインでディレクトリの変更を確認します。

NERDTree: CWD は次のとおりです: [ここに新しいディレクトリ]

これにより、一般にvimの作業ディレクトリも変更されることに注意してください。これは、のようなコマンドを実行するときに重要:edit somefileです。

于 2011-12-21T01:52:57.247 に答える