VIM 如何 Yank 包括搜索结果

VIM how to Yank including search results

我正在尝试使用“/”搜索跨多行。但是,我只成功地提取了导致搜索结果的文本,不包括它。

示例:

//Some Comment
#define SOME_DEFINITION_LALALA       0x0001

我要select全部文字。因此,当我的光标位于第一个 '/' 上时,我执行 y/1 将所有文本拉到 '1'。但是,我想提取文本 包括 '1'。

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

谢谢!

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

y/1/e<cr>

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

详情请查看:h search-offset

您可以使用可视模式进行选择,因为那样它会取决于并包括您的搜索结果

v/1<CR>y

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

v/[search]e<CR>y