Vim - 直观地选择多个不连续的部分[重复]
Posted
技术标签:
【中文标题】Vim - 直观地选择多个不连续的部分[重复]【英文标题】:Vim - visually select multiple non-consecutive sections [duplicate] 【发布时间】:2020-08-21 04:15:09 【问题描述】:VIM 中有没有一种方法可以直观地选择文档中不直接连接的多个部分/不连续的行? 我的目标是将文档的某些部分复制到不同的部分,在当前 VIM 实例的不同缓冲区中打开。然而,同样的过程也可以用来删除这样的选择。 假设在下面的示例中,我想选择第 2,6 和 11 行。
1 个全局 _main
2 extern _printf
3
4 节 .text
5 _main:
6 推送消息
7 调用 _printf
8 添加 esp, 4
9 回复
10 条消息:
11 db 'Hello, World', 10, 0
【问题讨论】:
抱歉,这听起来像是对明确关注 vim 的原始问题的题外话,但对于这种涉及非连接多项选择的任务,Kakoune 可能是完成这项工作的正确工具。跨度> 看看这里:***.com/questions/1608204/multiple-selections-in-vim/… 感谢@AndreaBaldini 找到了我未能找到的答案。答案之一中的累积缓冲区概念对我来说非常可行。 【参考方案1】:感谢@Andrea Baldini 对similar question 的关注,我看到answers 之一是我的问题的可行解决方案,不需要任何插件。 作为参考,我复制了@soulmerge 的回复
To start the 'Accumulation Buffer':
1. mark a section to copy in visual mode,
2. press "a to operate on the buffer a with the next command and
3. yank it as usual (y).
To add to that buffer:
1. mark the next section and
2. press "A (capitalizing the buffer name means "do not overwrite the buffer, append to it instead")
3. and yank again using y.
You can then paste the accumulated buffer a at any time using "ap.
【讨论】:
以上是关于Vim - 直观地选择多个不连续的部分[重复]的主要内容,如果未能解决你的问题,请参考以下文章