Есть ли способ открыть все файлы в каталоге из Vim? Итак, :command
, который скажет, что "Откройте все файлы под /some/path
в буферы".
В идеале было бы здорово открыть все файлы под рекурсивно.
Есть ли способ открыть все файлы в каталоге из Vim? Итак, :command
, который скажет, что "Откройте все файлы под /some/path
в буферы".
В идеале было бы здорово открыть все файлы под рекурсивно.
Команда, которую вы ищете, - args:
Например:
:args /path_to_dir/*
откроет все файлы в каталоге
Почему это не работает, если я хочу открыть все файлы, заканчивающиеся на определенное расширение? Я попробовал
:n ./**.cs
и открывает только файлы в текущем каталоге.
Я нашел ответ. Правильный код :n **/*.cs
Для получения дополнительной информации :h find
Вы пробовали
:n /some/path/*
Он откроет все файлы в /some/path
Я не думаю, что он будет рекурсивно открывать файл.
ИЗМЕНИТЬ
Может быть, использование ** будет открыто рекурсивно, поскольку daf упоминается
Метод, который не требует messing с args
, состоит в том, чтобы поместить список файлов в текстовый файл, а затем использовать команду :so
для запуска команд в этом файле.
Например, если вы хотите открыть все файлы, которые заканчиваются на .php
в данном каталоге, сначала создайте files.txt
, содержащий список файлов, добавленный с помощью любой команды, которую вы хотите использовать для их открытия.
sp alpha.php
sp bravo.php
sp charlie.php
Затем в пределах vim:
:so files.txt
Если список файлов велик, относительно легко создать файл files.txt
, перенаправив вывод файла ls
в файл, а затем используя макрос vim, чтобы добавить sp
перед каждым именем файла.
Это явно не так элегантно, как использование команд args
и argdo
, но эти команды также намного сложнее.
Также может быть способ сделать это с помощью одной команды в командной строке, но даже через 16 лет я все еще нахожу программирование vim странным и тайным.
Другой способ открытия файлов рекурсивно
find . -type f -exec vi {} \;
Если вы хотите добавить в список аргументов,
:arga what_you-d_like_to_add
см
:he arga
из/in vim для получения дополнительной информации.