- 有没有办法复制到搜索词,_包括这个词?

时间:2010-07-20 23:49:25

标签: vim copy-paste

如果我有以下话语

cat Oliver Louis

并且光标在“c”上,我可以用y/Louis<CR>复制到路易斯的开头(其中“CR”是回车键),这将复制字符串“cat Oliver”。

有没有办法复制搜索词“路易斯”,以及复制的“猫奥利弗路易斯”字符串?提前谢谢。

3 个答案:

答案 0 :(得分:10)

使用/e修饰符:y/Louis/e<CR>。如果您想重复上一次搜索模式,请将其删除:y//e<CR>

:help search-offset

答案 1 :(得分:2)

由于/搜索是独占,它会选择匹配前的所有内容,但不包括匹配项。 (查看:help exclusive

更方便的方法可能是使用包含 ft动作命令。

使用以下行:

cat Oliver Louis

在正常模式下输入yfs会将所有内容都拉到字母“s”,或者在这种情况下,cat Oliver Louis

显然,如果该行类似于

,这就不方便了
cat Assassins Scissors

s太多了。在这种情况下,您可能希望进入可视模式,并通过点击f重复包含;搜索动作,直至到达最后一个s。或者,如上所述,只需使用w前面跟您要复制的字词数。在这种情况下,y3w将起作用。

答案 2 :(得分:1)

一种方法是使用后视断言......但语法相当丑陋!

y/\(Louis\)\@<=

这不是路易斯,而是路线前面的位置。