如何搜索然后复制vi/vim中的行?

crn*_*nlx 4 vi vim clipboard

我想最好用一个例子来解释一下,所以这里是:

My useful line.
Some useless line.
Some other useless line.
Another useful line - oh I want this!
This is useful, I want this too!
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我正在搜索字符串"有用".所以,我想将第1,4和5行复制到剪贴板.我怎么能用vim做到这一点?

unp*_*680 8

第一个清除寄存器a(您可以使用任何字母az)进行使用.

:let @a=''
Run Code Online (Sandbox Code Playgroud)

然后运行魔法.

:g/useful/yank A
Run Code Online (Sandbox Code Playgroud)

它将搜索匹配模式"有用"的行,然后:yank A对它们运行命令.资本A将附加到登记册a.

如果您的vim配置了全局Windows/X剪贴板,则可以运行

:let @+=@a
Run Code Online (Sandbox Code Playgroud)

将注册表a的内容复制到剪贴板.

  • 清除寄存器短而甜:`qaq` (4认同)
  • 另一个清除寄存器`a`的成语:'0"ay0` (3认同)