Як отримати vim для відкриття декількох файлів одночасно


85

Чи можливо отримати vim для відкриття декількох файлів на вкладки, подібно до того, як args <path>команда відкриє кілька файлів у буфери?

Якщо щось подібне, це :tabe ./*призведе до помилки "E77: Забагато імен файлів", навіть якщо кількість файлів менше значення, встановленого у tabpagemaxвластивості.

(Я вірю, що vim -p <files>варіант відкриється на вкладках, але я сподіваюся знайти спосіб це зробити, коли vim вже відкритий.)


12
Дякуємо, що згадали про опцію -p; ось що я шукав
user72923

4
Я знайшов це питання через Google. Я шукав, як відкрити vim за допомогою вкладок з командного рядка, vim -pбуло те, що я шукав :-)
Rocket Hazmat



Відповіді:


82
:tab all

відкриє всі файли зі списку аргументів Vim на окремих вкладках. Список аргументів спочатку встановлюється до списку імен файлів, вказаних у командному рядку при запуску Vim. Список може бути змінено за допомогою :argsта пов'язаних з ними команд. Побачити

:help :all
:help argument-list

Приклад:

:args *.c
:tab all

відкриє всі файли .c у поточному каталозі на окремих вкладках.


Я не впевнений, як це означає працювати. Скажіть, що якщо я хочу відкрити всі .txt файли в поточному каталозі, що я б ввів? Якщо я ввійду :tab all *.txt, лічильники vim мають знак "E488: Відстеження символів"
Еш,

Я відредагував відповідь, щоб уточнити, що я мав на увазі під "аргументами". Я мав на увазі список аргументів Віма, а не аргументи :tab all.
garyjohn

1
Я не знаю жодної команди , яка може зробити це, але ви можете помістити дві команди в одному рядку, розділяючи їх вертикальною лінією, як це: :args *.c | tab all.
garyjohn

9
Мінусом є те, що використання :tab allзамінює наявні вкладки. Через це, у моєму випадку використання, це не дає великої користі від повторного відкриття файлів vim -p. Однак, якщо був би якийсь спосіб вставити існуючі вкладки :args, можливо, можна відкрити нові вкладки та зберегти існуючі.
Кевін Ци

3
Якщо вкладка вже відкрита, замініть argaddна args.
cdosborn

4

Ви фактично можете відкривати нові вкладки та зберігати свої поточні вкладки, не записуючи нових функцій. Дивіться цю відповідь на переповнення стека: https://stackoverflow.com/a/11430615/200234

:args file1 file2 | argdo tabe

Ви можете відкрити нову порожню вкладку ( :tabe) перед цим, оскільки перший файл відкриється в поточній вкладці. Крім того, додаткова порожня вкладка залишиться відкритою (див., :help argdoЩоб зрозуміти, чому).


Якщо ви додаєте нові вкладки до наявного набору, чи не було б простіше просто так :tabe file1?
jpaugh

@jpaugh, питання про кілька файлів.
Mihai Capotă

Не хотів би :args | argdo tabeвідповісти на питання? У чому причина додавання нових файлів таким чином?
jpaugh

@jpaugh, ось що запитує: "Я вважаю, що параметр vim -p <files> відкриється на вкладках, але я сподіваюся знайти спосіб це зробити, коли vim вже відкритий."
Mihai Capotă
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.