При использовании плагина NERDTree поведение по умолчанию заключается в открытии нового файла и сохранении открытого буфера NERDTree. Я хочу сохранить это поведение по умолчанию, но также переопределить его, когда я хочу, чтобы буфер NERDTree был закрыт после того, как я открыл файл.
Я знаю, что могу использовать let NERDTreeQuitOnOpen=1для автоматического закрытия буфера NERDTree при открытии нового файла, но эта опция полностью переопределяет поведение по умолчанию (а это не то, что мне нужно).
В идеале я хотел бы знать, есть ли встроенная функция в NERDTree, чтобы делать то, что я хочу. (Я искал, но ничего подобного не нашел, так что полагаю, что на самом деле его не существует)
И если этого не существует, у меня было две идеи:
Во-первых, нужно создать функцию, которая будет установлена
NERDTreeQuitOnOpenна1, открыть файл, а затем снова установитьNERDTreeQuitOnOpenна0.Второй - создать следующее отображение:
map d<CR> <CR> :NERDTree <CR> :bd<CR>которое открывает файл (первый<CR>), возвращается в буфер NERDTree (:NERDTree <CR>) и закрывает этот буфер (:bd <CR>). Я должен улучшить его, чтобы отображение существовало только в буфере NERDTree, но я чувствую, что это довольно уродливое решение, и я думаю, что оно может быть улучшено.
Какая идея будет лучшей и почему? Или есть еще лучший вариант?
map d<cr> <cr>:NERDTreeClose<cr>для картографии?