Как вставить текст в vimscript - PullRequest
0 голосов
/ 01 апреля 2019

У меня самое простое требование в vimscript.Я давно ищу в Google, например, 1 2 3 .Я просто хочу вставить строку текста!

Предположим, у меня есть файл со строками:

aaa
bbb
ddd
eee

И я просто хочу добавить пропущенную строку ccc после строки bbb.

У меня есть начало функции vimscript:

function! addLine()
  normal /bbb
  " MISSING LINE
  wq!
endfunction

Какой должна быть пропущенная строка?

Обратите внимание, что я хочу затем вызвать этот скрипт насвязка файлов с использованием vim -c 'call addLine()' FILE.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2019

Хотя это не vimscript, ваша задача поиска и замены по группе файлов звучит как работа для argdo:

:argdo %s/bbb/&\rccc/ge | update  
1 голос
/ 01 апреля 2019

При использовании Vimscript я бы избегал операций :normal -режима в пользу встроенных функций , которые выполняют те же функции:

function! AddLine()
    let l:foundline = search("bbb") " Can return 0 on no match
    call append(l:foundline, "ccc")
    wq!
endfunction

search() и append() должны быть более удобными для работы в функции, чем norm / и norm o.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...