如何在vim中根据搜索模式直观地选择线条?

时间:2013-09-06 14:18:24

标签: vim

我在一个大文件中到处都有一些方法调用,我想匹配这些行,选择然后把它们作为一个,所以我可以将它们全部放在一个地方。

我可以找到:g/>set所需的所有行,但如何在视觉上选择每一行?

2 个答案:

答案 0 :(得分:7)

您无法在Vim中进行多项视觉选择。

但是你可以清除一个寄存器并将所有匹配的行附加到它:

:let @a = ''
:g/>set/y A

然后创建一个空缓冲区(或导航到现有缓冲区):

:vnew

并从注册a粘贴:

"ap

但您可能需要TagListTagBar等内容。

修改

:[something]y a

表示“猛烈注册a”。

:[something]y A

表示“追加注册a”。

答案 1 :(得分:1)

我通常做的是:

  1. 删除所有没有模式:v/pattern/d
  2. 的行
  3. 使用ggyG
  4. 选择整个新文件
  5. 使用p
  6. 粘贴结果
  7. u使用undo几次以使文件恢复到初始状态
  8. 这有点麻烦,我欢迎更简单的解决方案。