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

85

Можно ли заставить vim открывать несколько файлов на вкладках, подобно тому, как args <path>команда будет открывать несколько файлов в буферах?

Выполнение чего-либо подобного :tabe ./*приводит к ошибке «E77: слишком много имен файлов», даже если число файлов меньше значения, установленного в tabpagemaxсвойстве.

(Я полагаю, что vim -p <files>опция откроется во вкладках, но я надеюсь найти способ сделать это, когда vim уже открыт.)

ясень
источник
12
Спасибо за упоминание опции -p; это то, что я искал
user72923
4
Я нашел этот вопрос через Google. Я искал, как открыть vim с помощью вкладок из командной строки, это vim -pбыло то , что я искал :-)
Rocket Hazmat
Связанный: Откройте несколько файлов в новых вкладках с VIM в переполнении стека.
Михай Капотэ
Связанный: Как открыть много вкладок для многих файлов в vim? на Супер пользователя.
Матеуш Пиотровский

Ответы:

82
:tab all

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

:help :all
:help argument-list

Пример:

:args *.c
:tab all

откроет все .c файлы в текущем каталоге на отдельных вкладках.

garyjohn
источник
Я не уверен, как это должно работать. Скажите, если я хочу открыть все файлы .txt в текущем каталоге, что бы я ввел? Если я вхожу :tab all *.txt, счетчик vim с "E488: Конечные символы"
Ash
Я отредактировал ответ, чтобы уточнить, что я имел в виду под «аргументами». Я имел в виду список аргументов Вима, а не аргументы :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, вопрос о нескольких файлах.
Михай Капотэ
Не :args | argdo tabeответил бы на вопрос, хотя? В чем причина добавления новых файлов таким образом?
jpaugh
@jpaugh, вот что спрашивает вопрос: «Я верю, что опция vim -p <файлы> откроется во вкладках, но я надеюсь найти способ сделать это, когда vim уже открыт».
Михай Капотэ