NERDTree перезагрузить новые файлы
Если я добавлю файл в тот же каталог, открытый в NERDTree
Единственный способ увидеть добавленный файл - это выйти из vim и запустить его снова.
Есть ли способ перезагрузить файлы в NERDTree
?
5 ответов
Вы можете закрыть и снова открыть NERDTree или просто нажать r, чтобы обновить список текущего каталога, или R, чтобы обновить список корневого каталога.
Вы видите "Нажмите? Для помощи" в верхней части окна NERDTree? Это означает, что вы можете нажать ? за помощью. Если вы это сделаете, вы увидите исчерпывающий список ярлыков NERDTree. Это аккуратно.
В целом, многие плагины имеют подробную документацию, к которой вы можете получить доступ :help <pluginame>
,
Как @romainl ответил выше; нажмите r, чтобы обновить текущий каталог, или R, чтобы обновить корневой каталог.
Вы можете добавить новые файлы из самого nerdTree, нажав m, затем a, чтобы добавить новый файл (или каталог, добавив косую черту). Таким образом, вам не нужно обновлять nerdTree, чтобы увидеть новый добавленный файл.
Обновить NERDTree
Вместо того, чтобы нажимать R в NERDTree
окно, я использую пользовательскую карту, которая делает это для меня:
nmap <Leader>r :NERDTreeFocus<cr>R<c-w><c-p>
Я сопоставил его с Leader + r, но вы можете сопоставить его с тем, что вы хотите.
Объяснение:
- Сначала переключается на
NERDTree
окно - Затем обновляет корневой узел (имитируя
R
ключ) - И наконец переключается обратно в предыдущее окно
Примечание 1: Вы должны использовать рекурсивную карту (т.е. карту или nmap вместо noremap или nnoremap)
Примечание 2: Вы можете добавить последний шаг для обновления CtrlP вместе с NERDTree
Вы можете нажать кнопку R с помощью функции feedkeys. Именно так:
call feedkeys("R")
Я определил функцию в моем файле.vimrc:
fun! ToggleNERDTreeWithRefresh()
:NERDTreeToggle
if(exists("b:NERDTreeType") == 1)
call feedkeys("R")
endif
endf
nmap <silent> <c-l> :call ToggleNERDTreeWithRefresh()<cr>
Поэтому, когда я набираю ctrl+l, NERDTree будет переключаться и обновлять корневой каталог.
Лично я предпочитаю автоматически запускать обновление при фокусировании окна NERDTree. Эта автокоманда (в вашем
.vimrc
) сделаю это
autocmd BufEnter NERD_tree_* | execute 'normal R'