vim:加入段落中的所有行

标签 vim line

我正在尝试使用 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,})"但这会将所有行连接在一起(不保留空行)。
我做错了什么?

最佳答案

只是 found this answer

:set tw=1000000
gggqG

恕我直言,这是绝对的赢家。

executes gq 关于来自 gg 的议案(开始)到 G (文档结尾),使用 1000000 的文本宽度。

关于vim:加入段落中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5651454/

相关文章:

linux - 使 windows vim 鼠标复制/粘贴行为像 xterm/putty

ruby-on-rails - 在 Rails 项目中使用 vim 的 command-t

python - 在 python 中垂直打印行(不是列表)

javascript - 如何使用 javascript 将 svg use 元素插入到 svg 组中?

regex - Vimscript 正则表达式空行

vim - 如何在vimdiff创建的拆分下打开一个新窗口?

linux - 在 VIM 中删除括号内的空格

emacs - hl-line-mode emacs颜色更改

compiler-errors - Gradle 错误 - 期望除了 ''\n'' 之外的任何内容;无论如何都明白了

ios - 动画贝塞尔直线