如果我有以下话语
cat Oliver Louis
并且光标在“c”上,我可以用y/Louis<CR>
复制到路易斯的开头(其中“CR”是回车键),这将复制字符串“cat Oliver”。
有没有办法复制搜索词“路易斯”,以及复制的“猫奥利弗路易斯”字符串?提前谢谢。
答案 0 :(得分:10)
使用/e
修饰符:y/Louis/e<CR>
。如果您想重复上一次搜索模式,请将其删除:y//e<CR>
。
:help search-offset
答案 1 :(得分:2)
由于/
搜索是独占,它会选择匹配前的所有内容,但不包括匹配项。 (查看:help exclusive
)
更方便的方法可能是使用包含 f
和t
动作命令。
使用以下行:
cat Oliver Louis
在正常模式下输入yfs
会将所有内容都拉到字母“s”,或者在这种情况下,cat Oliver Louis
显然,如果该行类似于
,这就不方便了cat Assassins Scissors
s太多了。在这种情况下,您可能希望进入可视模式,并通过点击f
重复包含;
搜索动作,直至到达最后一个s。或者,如上所述,只需使用w
前面跟您要复制的字词数。在这种情况下,y3w
将起作用。
答案 2 :(得分:1)
一种方法是使用后视断言......但语法相当丑陋!
y/\(Louis\)\@<=
这不是路易斯,而是路线前面的位置。