我正在尝试使用 vimscript 连接段落(文本块)中的所有行,但没有成功。
我想为每个段落(文本块)执行此操作,并希望在它们之间保留空行。
(我不想使用宏)
当我使用 }w
命令转到下一段中的第一个单词我注意到它不识别带有空格的空行或段落之间的多个空行。
那不是我想要的。
所以我试过这个:
做一个搜索:\(^.*\S\+.*\n\)\{2,}
做:normal vipgJ
再次进行上述搜索等。
当我手动执行时它工作正常,但我不能把它放在脚本中。
我试过这个:
function! <SID>JoinParagraphs()
let i = 1
normal gg
while i <= 200
call search("\\(^.*\\S\\+.*\\n\\)\\{2,})", "")
normal vipgJ
let i=i+1
endwhile
endfunction
不起作用...我也尝试更改线路
call search...
为了let @/ = "\\(^.*\\S\\+.*\\n\\)\\{2,})"
但这会将所有行连接在一起(不保留空行)。我做错了什么?
最佳答案
关于vim:加入段落中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5651454/