regex - 如何在vim中合并奇数行和偶数行?

标签 regex linux vim

为了合并奇数行和偶数行两种方法。 一个使用命令 :s,另一个使用命令 :g:s
这是我们的作业,我无法从谷歌获得合适的答案。
我已经解决了第一个问题,这意味着我可以使用命令 :s:

解决它
:%s/\(^.*$\)\n\(^.*$\)/\1 \2

我如何使用命令 :d:s 来解决它?

之前:

 1 aa  
 2 bb  
 3 abc  
 4 abc  
 5 an apple  
 6 is a bug   
 7 mazic  
 8 homework!  
 9 try a time  
10 dodo

之后:

 1 aa bb  
 2 abc abc  
 3 an apple is a bug  
 4 mazic homework!  
 5 try a time dodo  



谢谢大家,课前我已经知道怎么解决了哈
:g/\(^.*$\)\n\(^.*$\)/s//\1\2

最佳答案

你可以在这里做的是: 将光标移动到要追加下一行的行号,然后在正常模式下键入以下命令。

:s/\n/ /

另一种方法是转到特定行并按 SHIFT+V,然后键入以下命令:

:'<,'>s/\n/, /

请注意,当您处于可视模式并按 : 然后 :'<,'> 将自动输入。您只需要在此之前输入正则表达式即可。

在上面的两个命令中,不需要 g 因为它不会产生任何影响,因为每行只有一个\n。

关于regex - 如何在vim中合并奇数行和偶数行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43166283/

相关文章:

regex - 在两个字符串Powershell之间替换文本

mysql - 从物理文件恢复 MediaWiki 站点 (MySQL)

linux - Cron 运行 .sh 文件没有任何结果

linux - "--servername"中的 "vim --servername VIM test.R"是什么?

regex - 在makefile中,如何获取从一个绝对路径到另一个绝对路径的相对路径?

c# - 正则表达式,匹配以 ) 结尾的字符串并忽略中间的任何 ()

regex - AWK 如果在两行相似的行中没有找到模式,则打印找到模式的行

linux - 如何通过复制 CSV 文件并从 Linux 远程运行 VBA 宏来创建 Excel 文件

json - 遍历 Vimscript 中的字符串或解析 JSON 文件

zsh - VIM 用类似于 ZSH cd 的其他内容替换部分文件名