Quando si utilizza il plug-in NERDTree, il comportamento predefinito è aprire un nuovo file e mantenere aperto il buffer NERDTree. Quello che voglio fare è mantenere questo comportamento predefinito ma anche sovrascriverlo quando voglio, quindi il buffer NERDTree verrà chiuso dopo aver aperto un file.
So che posso usare let NERDTreeQuitOnOpen=1
per chiudere automaticamente il buffer NERDTree quando apro un nuovo file ma questa opzione ignora totalmente il comportamento predefinito (che non è quello che voglio).
Idealmente, vorrei sapere se esiste una funzionalità integrata in NERDTree per fare ciò che voglio. (Ho cercato ma non ho trovato nulla del genere, quindi suppongo che in realtà non esista)
E se ciò non esiste, avevo due idee:
Il primo è creare una funzione che dovrebbe essere impostata
NERDTreeQuitOnOpen
su1
, aprire il file e quindi reimpostareNERDTreeQuitOnOpen
su0
.Il secondo è creare il seguente mapping:
map d<CR> <CR> :NERDTree <CR> :bd<CR>
che apre il file (prima<CR>
), torna al buffer NERDTree (:NERDTree <CR>
) e chiude questo buffer (:bd <CR>
). Dovrei migliorarlo in modo che la mappatura esista solo nel buffer NERDTree ma penso che sia una soluzione piuttosto brutta e penso che possa essere migliorata.
Quale idea sarebbe la migliore e perché? O c'è un'opzione ancora migliore?
map d<cr> <cr>:NERDTreeClose<cr>
per la mappatura?