![vi[m] прочитать диапазон строк из другого файла](https://rvso.com/image/31296/vi%5Bm%5D%20%D0%BF%D1%80%D0%BE%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C%20%D0%B4%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%20%D0%B8%D0%B7%20%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0.png)
В Linux, редактируя file_B
в vim, я хочу добавить строку 10-25 из file_A
. Пример: у кого-то есть целый набор HTML-документов с довольно одинаковым заголовком, и да, можно создать шаблон и начать с него, но все же:
я ищупростой [и элегантный] способ вставить ряд строк из одного файла и добавить его в файл, который я сейчас редактирую. В vim.
Решения, которые я нашел до сих пор, ноне совсемто, что я ищу, это
- внутри
file_B
команда:read file_A
добавит *весь файл_A* в файл_B. Слишком много - внутри vim есть копировать и вставить – но для этого нужно открыть
file_A
- внутриfile_A
:10,25w! file_B
«отправит» указанный диапазон строк вfile_B
.
Это кажется довольно близким к копированию и вставке - в vim можно открыть несколько окон,
но так как я работаю на 8-дюймовом экране, то несколько окон затрудняют ориентацию
Поскольку мне не удалось найти удобного решения, я задаюсь вопросом: то ли я просто что-то неправильно понял, то ли способы, которые я нашел до сих пор, широко используются и принимаются как стандартные.
решение1
Лучшее решение, которое я могу придумать, это внешний вызов sed
и объединение этого с:read !
:r !sed -n -e '10,25p' fileB