首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Vim中合并两个多行文本块?

如何在Vim中合并两个多行文本块?
EN

Stack Overflow用户
提问于 2012-05-25 19:30:08
回答 9查看 81K关注 0票数 327

我想把Vim中的两行合并,即取k行到l行,并将它们附加到m到n行。如果您更喜欢伪代码解释:[line[k+i] + line[m+i] for i in range(min(l-k, n-m)+1)]

例如,

代码语言:javascript
运行
复制
abc
def
...

123
45
...

应该变成

代码语言:javascript
运行
复制
abc123
def45

有没有一个很好的方法来做到这一点,而不复制和粘贴手动逐行?

EN

Stack Overflow用户

发布于 2012-05-26 07:09:30

通过组合:global:move:join命令,可以获得一个优雅而简洁的Ex命令来解决这个问题。假设第一个行块从缓冲区的第一行开始,并且光标位于紧接第二块第一行的行上,则命令如下所示。

代码语言:javascript
运行
复制
:1,g/^/''+m.|-j!

有关此技术的详细说明,请参见my answer中本质上相同的问题“How to achieve the “paste -d '␣'” behavior out of the box in Vim?”。

票数 59
EN
查看全部 9 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10760326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档