Вы спросили, как записать "что-то" в текстовый файл через vim, и ни один ответ еще не охватил это.
Для вставки текста:
ex $yourfile <<EOEX
:i
my text to insert
.
:x
EOEX
:i
входит во вставкуРежим.Все последующие строки вставляются в текст до тех пор, пока .
не появится само по себе в отдельной строке.
Вот как искать и вставлять.Вы можете сделать что-то, например:
ex $yourfile <<EOEX
:/my search query\zs
:a
my text to insert
.
:x
EOEX
Это найдет первый выбор, который соответствует регулярному выражению, указанному :/
, поместит курсор в положение, указанное \zs
, и войдет в режим вставки после курсора,
Вы можете перемещаться \zs
для достижения разных результатов.Например:
ex $yourfile <<EOEX
:/start of match \zs end of match
:a
my text to insert
.
:x
EOEX
Это изменит первое вхождение слова «начало матча, конец матча» на «начало матча, мой текст для вставки конца матча».
Если вы хотитечтобы разрешить любое количество пробелов в поиске между ключевыми словами, используйте \_s*
.Например, поиск функции, которая возвращает 0: :/\_s*return\_s*0}