De acordo com a documentação do vim, :q
fecha a janela atual e só sai se não houver mais janelas. No vim, as janelas são meramente "viewports", onde os buffers podem ser exibidos. A documentação do vim em si resume isso muito bem. De :help window
:
A buffer is the in-memory text of a file.
A window is a viewport on a buffer.
A tab page is a collection of windows.
Se você tem a opção hidden
definida, fechar uma janela oculta o buffer, mas não " abandon
", portanto, o vim ainda está acompanhando o conteúdo. Com 'hidden'
set, quando você "reabre" o arquivo, você está simplesmente reexibindo / descompactando o buffer, na verdade não reabrindo o arquivo no disco.
Para mais informações, consulte
:help hidden
:help abandon