2017-01-09 2 views
1

Я попытался написать команду для сохранения сеанса, совместимого с NERDTree, мне нужно проверить, открыт ли NERDTree, я не могу найти какую-либо информацию, хотя Google.Как проверить, открыт ли NERDTree в vimscript?

+0

Пожалуйста, покажите нам, что вы пробовали и что не сработало. – Rabban

ответ

5

NERDTree внутренне хранит имя своего буфера нуля (который представляет содержимое дерева в Vim) в локальной локальной переменной. С помощью bufwinnr() вы можете спросить Vim, загружен ли буфер в окне.

Я использую следующую функцию, чтобы проверить существование NERDTree (на текущей вкладке, если вам нужно это глобально, вам придется перебирать все вкладки с помощью gettabvar()).

function! IsNerdTreeEnabled() 
    return exists('t:NERDTreeBufName') && bufwinnr(t:NERDTreeBufName) != -1 
endfunction 
Смежные вопросы