选择第一个单词多行vim

Ger*_*Gum 7 vim

我想复制多行的第一个单词.

代码示例:

apiKey := fmt.Sprintf("&apiKey=%s", args.ApiKey)
maxCount := fmt.Sprintf("&maxCount=%d", args.MaxCount)
id := fmt.Sprintf("&id=%s", args.Id)
userid := fmt.Sprintf("&userid=%s", args.Userid)
requestFields := fmt.Sprintf("&requestFields=%s", args.RequestFields)
Run Code Online (Sandbox Code Playgroud)

我想在我的剪贴板中有这个:

apiKey
maxCount
id
userid
requestFields
Run Code Online (Sandbox Code Playgroud)

我尝试使用ctrl-v和e之后,但它在图像上复制: 在此输入图像描述

Mar*_*rth 9

你可以将每个第一个单词附加到一个空的寄存器(让我们说q)使用

:'<,'>norm! "Qyiw
Run Code Online (Sandbox Code Playgroud)

也就是说,在视觉选择的每一行中,执行命令"Qyiw序列normal以将(第一个)"内部字"附加到q寄存器.

你需要有>cpoptions对以猛拉(之间加入新行:set cpoptions+=>),否则的话会在一行并置.

如果要快速清空寄存器,可以qqq在正常模式下使用(或qaq清空寄存器a).

注意:未命名的寄存器("")也会在操作结束时包含您想要的内容,因此您不需要"qp粘贴它,p也可以.