Ao usar o plug-in NERDTree, o comportamento padrão é abrir um novo arquivo e manter o buffer NERDTree aberto. O que eu quero fazer é manter esse comportamento padrão, mas também substituí-lo quando desejar, para que o buffer NERDTree seja fechado após a abertura de um arquivo.
Eu sei que posso usar let NERDTreeQuitOnOpen=1
para fechar automaticamente o buffer NERDTree quando abro um novo arquivo, mas essa opção substitui totalmente o comportamento padrão (que não é o que eu quero).
Idealmente, eu gostaria de saber se existe um recurso interno no NERDTree para fazer o que eu quero. (Estive pesquisando, mas não encontrei nada assim, acho que não existe realmente)
E se isso não existir, eu tinha duas idéias:
O primeiro é criar uma função que definiria
NERDTreeQuitOnOpen
como1
, abra o arquivo e, em seguida, defina novamenteNERDTreeQuitOnOpen
como0
.O segundo é criar o seguinte mapeamento:
map d<CR> <CR> :NERDTree <CR> :bd<CR>
que abre o arquivo (primeiro<CR>
), volta ao buffer NERDTree (:NERDTree <CR>
) e fecha esse buffer (:bd <CR>
). Eu deveria aprimorá-lo para que o mapeamento só exista no buffer NERDTree, mas acho que é uma solução bastante feia e acho que pode ser melhorada.
Qual ideia seria a melhor e por quê? Ou existe uma opção ainda melhor?
map d<cr> <cr>:NERDTreeClose<cr>
para o mapeamento?