Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何连接添加分隔符的行?

如何连接添加分隔符的行?
EN

Stack Overflow用户
提问于 2014-08-08 02:23:02
回答 5查看 861关注 0票数 5

命令J连接行。

命令gJ连接删除空格的行。

是否也有命令连接行,在行之间添加分隔符?

示例:

输入

代码语言:javascript
运行
AI代码解释
复制
text
other text
more text
text

我想做的是:

  • 选择这四行
  • 如果在开始和/或EOL中有空格,请删除它们
  • 在它们之间添加分隔符'//‘的连接线

输出

代码语言:javascript
运行
AI代码解释
复制
text//other text//more text//text
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-08-08 02:35:15

您可以为此使用:substitute,在\n上进行匹配。

代码语言:javascript
运行
AI代码解释
复制
:%s#\s*\n\s*#//#g

但是,这也会在末尾追加分隔符(因为范围中的最后一行也有换行符)。您可以手动删除该标记,或者指定c标志并在最后一个替换之前退出替换,或者将范围缩小一个,而将最后一个替换为:join

代码语言:javascript
运行
AI代码解释
复制
:1,$-1s#\s*\n\s*#//#g|join
票数 5
EN

Stack Overflow用户

发布于 2014-08-08 03:17:58

我写了一个插件"Join",可以做你想做的事情,等等。

https://github.com/sk1418/Join

除了内置:join命令提供的所有功能外,Join可以:

代码语言:javascript
运行
AI代码解释
复制
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

查看主页以获得详细信息和示例/截图。

票数 3
EN

Stack Overflow用户

发布于 2014-08-08 05:14:19

有几种方法可以做到这一点,但我建议使用最简单的路径--记录宏或执行多步命令,例如:

附加到所有行(不包括最后一行)

  • 使用替换(:1,$-1s#$#//#)
  • 附加(:1,$-1norm A//)

然后使用可视选择(vGgJ)或任何其他方法加入。

除非您经常执行此操作,否则您很可能忘记配置中的任何复杂命令或专门插件的存在,因此我建议使用通用的、经常使用的子步骤。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25201302

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档