VIM: открывать несколько файлов в определенном порядке

Итак, я хочу начать с этого: я понимаю, что могу открывать несколько файлов с помощью vim * , vim * / file.txt , vim directory / * и т. Д.

Я ищу следующий вариант использования:

У меня есть каталог из двух папок, в каждой по три файла. Я хочу открыть два из четырех файлов в определенном порядке во всех десяти папках. Визуализировано:

->a
  |->a
  |->b
  |->c
->b
  |->a
  |->b
  |->c

Я хочу открыть в следующем порядке:

a/c
a/a
b/c
b/a

Это минимальный вариант использования, на практике я применяю его к сотне файлов.

1
задан 10 April 2021 в 01:35

1 ответ

Что-то вроде этого может сработать:

TMP=$(mktemp); ARG= ; for d in * ;  do ARG=\"$d/\"{c,a}\ $ARG ;  done ;  echo "vim $ARG" > $TMP ;  . $TMP ;  rm $TMP

Создается временный файл для хранения последней команды. Инициализируется переменная ARG . Цикл for ... do создает список файлов в желаемом порядке в переменной. Командная строка записывается во временный файл и берется оттуда. После закрытия редактора временный файл будет удален.

Длина аргументов ограничена, так что это один из факторов, который налагает ограничение на количество файлов, которые вы одновременно можете открывать таким образом.

1
ответ дан 23 April 2021 в 23:24

Другие вопросы по тегам:

Похожие вопросы: