VIM如何包含搜索结果

时间:2018-07-25 15:29:21

标签: vim vi

我正在尝试使用'/'搜索跨多行。但是,我只能成功拉动导致搜索结果的文本,而不包括搜索结果。

示例:

//Some Comment
#define SOME_DEFINITION_LALALA       0x0001

我要选择所有文本。因此,当我的光标停留在第一个'/'上时,我执行y/1将所有文本拉到'1'。但是,我想提取文本包括“ 1”。

还可以使用'f'(find)来做到这一点吗? 我尝试了yf1,但没有成功。我似乎无法弄清楚如何在多行中使用'f'。

谢谢!

2 个答案:

答案 0 :(得分:6)

您可以在搜索模式后添加偏移量e

y/1/e<cr>

yf1不起作用,因为您的文本跨越了两行。

请检查:h search-offset了解详情

答案 1 :(得分:0)

您可以使用视觉模式进行选择,因为这取决于您的搜索结果

v/1<CR>y

与您当前的方法相比,它只需要1次按键即可,并且完全满足您的要求。如果它没有抓住您想要的东西,您可以通过额外的动作按键快速纠正它。我的典型用途是

v/[search]e<CR>y