命令J
连接行。
命令gJ
连接删除空格的行。
是否也有命令连接行,在行之间添加分隔符?
示例:
输入
text
other text
more text
text
我想做的是:
输出
text//other text//more text//text
发布于 2014-08-08 02:35:15
您可以为此使用:substitute
,在\n
上进行匹配。
:%s#\s*\n\s*#//#g
但是,这也会在末尾追加分隔符(因为范围中的最后一行也有换行符)。您可以手动删除该标记,或者指定c
标志并在最后一个替换之前退出替换,或者将范围缩小一个,而将最后一个替换为:join
:
:1,$-1s#\s*\n\s*#//#g|join
发布于 2014-08-08 03:17:58
我写了一个插件"Join",可以做你想做的事情,等等。
https://github.com/sk1418/Join
除了内置:join
命令提供的所有功能外,Join可以:
Join lines with separator (string)
Join lines with or without trimming the leading/trailing whitespaces
Join lines with negative count (backwards join)
Join lines in reverse
Join lines and keep joined lines (without removing joined lines)
Join lines with any combinations of above options
查看主页以获得详细信息和示例/截图。
发布于 2014-08-08 05:14:19
有几种方法可以做到这一点,但我建议使用最简单的路径--记录宏或执行多步命令,例如:
附加到所有行(不包括最后一行)
:1,$-1s#$#//#
):1,$-1norm A//
)然后使用可视选择(vGgJ
)或任何其他方法加入。
除非您经常执行此操作,否则您很可能忘记配置中的任何复杂命令或专门插件的存在,因此我建议使用通用的、经常使用的子步骤。
https://stackoverflow.com/questions/25201302
复制