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