Как заставить 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: Конечные символы"
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 уже открыт».
Михай Капотэ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.