Есть ли способ открыть все файлы в каталоге из Vim? Таким образом :command
, по сути, будет сказано: «Открыть все файлы /some/path
в буферах».
В идеале было бы здорово открывать все файлы в каталоге рекурсивно.
Команда, которую вы ищете, - это args:
Например:
:args /path_to_dir/*
откроет все файлы в каталоге
**
для рекурсивного сопоставления файлов. Eg:args /path_to_dir/**
:tab all
чтобы поместить их на отдельные вкладки."/path_to_dir/subdir/" Illegal file name
). Быстрое решение - запустить вторую команду,argd */
чтобы снова удалить их из списка:argdo source my_commands_batch.vim
Почему не работает, если я хочу открыть все файлы с определенным расширением? Я старался
и открывает только файлы в текущем каталоге.
Я нашел ответ. Правильный код
:n **/*.cs
Для дополнительной информации
:h find
источник
Ты пробовал
Он откроет все файлы в / some / path
Я не думаю, что он откроет файл рекурсивно.
РЕДАКТИРОВАТЬ
Возможно, использование ** будет открываться рекурсивно, как упоминалось в daf
источник
Метод, с которым не нужно возиться,
args
- это поместить список файлов в текстовый файл, а затем использовать:so
команду для запуска команд в этом файле.Например, если вы хотите открыть все файлы, которые заканчиваются в
.php
данном каталоге, сначала создайте,files.txt
содержащий список файлов, с добавлением любой команды, которую вы хотите использовать для их открытия.Затем в vim:
Если список файлов большой, относительно тривиально
files.txt
быстро сгенерировать файл, перенаправив выводls
в файл, а затем используя макрос vim для добавленияsp
перед каждым именем файла.Это , очевидно, не так элегантно , как с помощью
args
иargdo
команд, но эти команды также намного более сложные.Также может быть способ сделать это с помощью одной команды в командной строке, но даже спустя 16 лет я все еще считаю программирование vim странным и загадочным.
источник
Другой способ рекурсивного открытия файлов
источник
kate **/*(^/)
(используя синтаксис zsh globbing) делает то, что необходимо: рекурсивно открывает файлы из заданного каталога. Он не «изнутри» и совсем не использует vim, но «все же делает то, что нужно». Или дажеkate ~/.vimrc ~/.bashrc
. Исключая «изнутри», «из данного каталога» и «рекурсивно» вместе, но он «все же делает то, что необходимо»: открывает файлы.Если вы хотите добавить в список аргументов;
увидеть
from / in vim для получения дополнительной информации.
источник