Как закрыть вкладку в vim?

Когда я использую :tabnew myfile в vim, он открывает новую вкладку.

Когда я выхожу из вкладки с :q, и я перехожу на другую вкладку с :bn, вкладка все еще существует.

Может кто-нибудь объяснить, почему и как его закрыть?

Ответ 1

Вы смешиваете вкладки и буферы. Вкладка - это просто способ отображения буферов, закрытие которой не делает ничего для них.

Если вы хотите удалить буфер из списка буферов, используйте :bd. С помощью:

:[N]bd[elete][!]            *:bd* *:bdel* *:bdelete* *E516*
:bd[elete][!] [N]
        Unload buffer [N] (default: current buffer) and delete it from
        the buffer list.  If the buffer was changed, this fails,
        unless when [!] is specified, in which case changes are lost.
        The file remains unaffected.  Any windows for this buffer are
        closed.  If buffer [N] is the current buffer, another buffer
        will be displayed instead.  This is the most recent entry in
        the jump list that points into a loaded buffer.
        Actually, the buffer isn't completely deleted, it is removed
        from the buffer list |unlisted-buffer| and option values,
        variables and mappings/abbreviations for the buffer are
        cleared.

Ответ 2

Вы можете использовать :tabclose.

Подробнее с помощью :help tabpage.


Что касается возвращаемого буфера с :bn, я считаю, что это нормально для "скрытых буферов", а :bn обходит вокруг первого буфера, когда вы проходите мимо последнего.

См. :help buffer-hidden