2

Я не знаю, является ли это особенность или ошибка, но это действительно раздражает меня.

Когда определенный файл уже открыт (tabnew), я просто хочу перейти на эту вкладку.

Есть ли обходной путь?

2 ответа2

2

Пытаться:

:tab drop filename

Источник: Edit a file or jump to it if already open

2

Единственный известный мне способ сделать это с помощью вкладок - это написать функцию для поиска файла, открытого на другой вкладке, и, если это так, переключиться на вкладку, в противном случае выполните команду tab new. Тогда вместо вызова tabnew вы вызываете свою функцию. Такие решения всегда кажутся мне хакерскими.

Я считаю, что главное здесь - это то, что вкладки vim отличаются от вкладок других редакторов. Они не предназначены для управления отношениями "один к одному" одного файла и одной вкладки. Ввиду отсутствия лучшего слова вкладки в vim являются "областями просмотра". Позволяет вам иметь различные наборы окон, просматривая различные открытые буферы, которые у вас есть.

Если вам действительно нужна идея одной вкладки на файл, вы можете попробовать не использовать функцию 'tab' в vim и просто редактировать файлы оригинальным способом с помощью:edit и использовать команды буферов, такие как:bn:bp:ls :bfirst:blast. Кроме того, плагин MiniBufExplorer предоставит вам представление с вкладками для буферов. По моему опыту, эта модель лучше отражает то, что пользователи ожидают от редактирования нескольких файлов.

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

Если вы попробуете метод буферов, я рекомендую привязать либо Cn / Cp, либо C- / C- к командам:bn /:bp, поскольку они используются так часто.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .