Я безуспешно пытаюсь объединить все строки в абзаце (блок текста) с помощью vimscript.
Я хочу сделать это для каждого абзаца (блока текста) и хочу сохранить пустые строки между ними.
(я не хочу использовать макросы)
Когда я использую команду }w
для перехода к первому слову в следующем абзаце, я заметил, что она не распознает пустые строки с пробелами илинесколько пустых строк между параграфами.Это не то, что я хочу.
, поэтому я попытался это сделать:
выполнить поиск:
\(^.*\S\+.*\n\)\{2,}
сделать:
normal vipgJ
выполнить поиск выше и т.д.
Хорошо работает, когда я делаю это вручную, но я не могу поместить это в скрипт.
Я попробовал этот скрипт:
function! <SID>JoinParagraphs()<br>
let i = 1<br>
normal gg<br>
while i <= 200<br>
call search("\\(^.*\\S\\+.*\\n\\)\\{2,})", "")<br>
normal vipgJ<br>
let i=i+1<br>
endwhile<br>
endfunction
Не работает ...
Я также пытался изменить строку "поиск звонка ..." на
let @/ = "\\(^.*\\S\\+.*\\n\\)\\{2,})"
, но это объединяет все строки вместе (не сохраняетпустые строки).
Что я не так сделал?