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'

Другие вопросы по тегам