Подтвердить что ты не робот

Как обновить плагин NERDTree

Когда я открываю файл в vim с помощью (Directory A in) NERDTree, он работает хорошо.

Но если я открою еще один файл в другом каталоге (Каталог B), он не обновится, чтобы показать содержимое каталога B (Пока он все еще показывает каталог A).

Может ли NERDTree автоматически обновляться самостоятельно?

4b9b3361

Ответ 1

Из https://gist.github.com/geekontheway/2667442: просто нажмите клавишу "r" или "R", чтобы обновить текущее дерево. Может отображаться для автоматического обновления в .vimrc.

Ответ 2

После того, как вы открыли новый файл, просто выполните команду :NERDTreeFind. Он выберет текущий файл редактирования node в NerdTree. Если node не существует, то NerdTree инициализирует новое дерево с корнем в качестве текущего каталога файлов.

Вы можете использовать автокоманду для отслеживания каталога при открытии vim.

au VimEnter * NERDTreeFind

Ответ 3

Для всех, кто видел это в 2016 году, это сработало для меня:

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

Наслаждайтесь!

Ответ 4

NerdTree будет указывать на каталог, из которого vim был первоначально открыт независимо от того, какие новые файлы открываются.

Чтобы изменить его, поместите курсор в нужный каталог node внутри окна NerdTree и нажмите cd.

NerdTree подтвердит изменение каталога в командной строке:

NERDTree: CWD теперь: [новый каталог здесь]

Обратите внимание, что это также изменяет рабочий каталог vim в целом, что важно при выполнении команд типа :edit somefile.

Ответ 5

Keymap для обновления NERDTree

Вместо перехода в окно NERDTree, нажав R и перейдя, я использую настраиваемую карту, которая делает это для меня:

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

После установки нажмите Leader + R, чтобы обновить NERDTree.


Примечание: Так как я также использую CtrlP, моя фактическая карта ключей имеет последний шаг к обновить CtrlP после обновления NERDTree