Vim: Закрыть и вернуться на последнюю вкладку, повторить

Vim: Закрыть и вернуться на последнюю вкладку, повторить

Я очень часто оказываюсь в такой ситуации:

  1. Откройте gVim с NERDTree из текущего рабочего каталога.
  2. Откройте файл из NERDTree, используя <S-T>, чтобы он открыл новую вкладку.
  3. :tabpreviousвернуться на NERDTree.
  4. Просмотрите каталоги и откройте второй файл, используя <S-T>.
  5. Закройте второй файл :qили ZZ.

Чего я ожидал, что произойдет после5.вернуться в NERDTree, но Vim всегда сворачивает вкладку и открывает ту, что справа. Это редко то, что я намеревался сделать, и я бы предпочел, чтобы Vim хранил список всех вкладок, которые я просматривал. Поэтому, когда я закрываю одну, он выталкивает ее из стека и фокусируется на следующей.

Это можно увидеть и в других редакторах, в основном в IDE, например, в Komodo Edit.

Есть ли плагин, который делает это для Vim?

решение1

Чтобы перейти на первую вкладку (предположительно, ту, где открыто NERDTree), выполните :tabfirst. Vim не хранит список вкладок, упорядоченных по «последнему открытию», а :tabprevious/ :tabnextработает только с вкладками слева/справа.

Действие по умолчанию — Tименно открытие выбранного файла в новой вкладке.ивернитесь на вкладку, где находится NERDTree. Так что я не уверен, зачем вам нужно делать :tabpreviousпосле T.

Обычный способ использования NERDTree — просто открыть его на месте, когда он вам нужен, и настроить его на закрытие при открытии файла. Я не помню названия опции, но быстрого варианта :help nerdtreeбыло бы достаточно.

Также я боюсь, что вы совершаете ошибку: вы используете "вкладки" Vim так, как будто они такие же, как вкладки, которые можно найти везде. Это плохая идея, потому что они вообще не предназначены для этого. Вместо этого почитайте об окнах и буферах.

Связанный контент