При использовании плагина 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>
для картографии?