Наскільки мені відомо, єдиний вбудований спосіб зробити це:
:args *.vim
:tab all
По-перше, :args
аргумент замінить список аргументів. Список аргументів перераховує файли, з якими ви відкрили Vim; так vim file1 file2
означає , що список аргументів містить file1
і file2
.
Ми можемо змінити це під час виконання, і Vim відкриє буфер для кожного нового запису в списку аргументів.
Див. Для :help argument-list
отримання додаткової інформації.
:all
Команда відкриває вікно для кожного елемента в списку аргументів, то :tab
команда виконує команду і відкриває нову вкладку , коли команда дала б відкрити нове вікно.
Коваджі
Існує кілька застережень до цього методу.
Перш за все, немає перевірки на дублікати, тому ви можете закінчити 2 та більше вкладок для одного буфера.
Але найбільша проблема полягає в тому, що він замінює всі ваші вкладки тим, що є у списку аргументів; тож ви втратили всі існуючі вкладки.
Ви можете трохи обійти це, використовуючи :argadd *.vim
для додавання в список аргументів, замість того , щоб замінити його; але команда , такі як :edit
або :tabedit
ж НЕ змінити список аргументів, і ви втратите ці вкладки , якщо не додати їх до списку аргументів (ви до сих пір їх в списку буферів, хоча). Можливо, ви також не хочете відкривати все у своєму аргументі на вкладці, можливо, ви просто хочете відкрити 2 файли як додаткову вкладку.
Можливо, ви могли б зробити це трохи краще, спочатку додавши до списку аргументів усі відкриті в даний час вкладки (які я не можу реально дістати), але це все ще далеко не ідеально. Якщо на вкладці є 2 або більше вікон, вони все одно змінять їх ...