Подтвердить что ты не робот

Как закрыть все окна только на текущей вкладке vim

Я знаю, что :qa закрывает все буферы и окна и выходит из vim. Также ясно, что я мог бы использовать :q для выхода из одного окна/разделения на данной вкладке. Но рассмотрим случай, когда у меня есть три окна на текущей вкладке и куча соседних открытых вкладок. Я хочу закрыть три окна на текущей вкладке, но не выйти из vim или других соседних вкладок.

Как мне это сделать? Я просмотрел файл справки vim, но, похоже, нет прямого выбора. Я предполагаю, что можно получить такую ​​функциональность, используя vimscript, но я хочу быть уверен, прежде чем сделать вывод, что это единственный вариант.

Если vim не поддерживает его напрямую, и кто-то был достаточно классным, чтобы написать плагин для него, я хотел бы узнать об этом.

4b9b3361

Ответ 1

Вы хотите закрыть текущую вкладку? Тогда для этого есть команда :tabclose.

Ответ 2

Я также узнал, что эта команда работает. Страница справки в help tabpage была весьма полезна.

:tabc

Подобно @glts, указанному в комментарии, мне нужно было получить свою терминологию vim, прежде чем я смогу найти ответ.

Ответ 3

Существующие ответы, которые предлагают :tabc[lose], являются правильными. Однако есть одна ситуация, в которой может быть полезен другой ответ.

В случае, если вы хотите закрыть окна на текущей вкладке, чтобы уменьшить количество открываемых вещей до открытия новой вкладки и вытаскивания в нее новых файлов, параметр tabclose все еще работает; лаконично, вы бы сделали :tabc|tabe. Тем не менее, пурист Vim во мне не может не отметить, что вы могли бы сэкономить три нажатия клавиш, вместо этого набрав :on|ene, что меньше для :only | enew, или "закройте все окна, кроме этого, на текущей вкладке, теперь, откройте новый неназванный файл в этом окне". И если вы хотите заменить текущие окна именованным файлом, эта идиома будет на два нажатия клавиши короче другой, в общей сложности пять: :on|e foo.txt по сравнению с :tabc|tabe foo.txt.

Итак, хотя в общем случае правильно ответить на вопрос является команда :tabclose, бывают случаи, когда :on|e или :on|ene более полезны.