[英]Yank first word from specific line
我发现:23y
将:23y
整个第23行。 但是我想做的只是仅:23yw
第23行的第一个单词。我尝试了:23yw
,但这不起作用。 是否有捷径可寻?
是否可以不先转到该行然后拉动然后键入`
返回到我正在编辑的行来完成此操作?
23ggyw
会做到的。 我认为没有更快的方法。
说明: 23gg
将光标移至第23行, yw
一个单词。 请注意,这仅在设置了startofline
选项(默认设置)时才有效。 否则,您需要显式移至第一个非空白字符: 23gg^yw
。
我不认为没有移动光标的方法。
无论如何,这是另一种方法:
:23norm! yw
分解:
:
因为我们使用的是Ex命令,
23
是我们要执行操作的行,范围是1,
norm[al]
在给定范围内执行普通模式命令,
yw
第一个单词。
添加<Co>
返回您的来源。
:y
是:yank
Ex命令的缩写,这就是为什么:yw
不起作用的原因。 这是正常模式的命令。 如其他答案所示,您可以通过:normal yw
从命令行触发这些答案。
恐怕无法以实际的方式避免跳转(但是,如上所述, <CO>
可以让您跳转回原始位置)。 您可以使用Vimscript:
:let @" = matchstr(getline(23), '^\w\+')
但这很难键入,仅适用于函数。
在正常模式下键入23Gyw
应该可以完成这项工作。
G Goto line [count], default last line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
G is a one of |jump-motions|.
在不按要求移动光标的情况下,可以进行以下操作,但是键入起来很麻烦。
:23y|norm PJ0eld$
或者你可以尝试与
:23t.|norm eld$
23jyw应该能够做到,它将带您到第23行并拉第一个单词
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.