如何在vim中编辑搜索文本?

时间:2011-02-11 17:32:19

标签: search vim text edit

我在网上搜索了一段时间,但我找不到答案。

我想要做的是在vim中编辑以前输入的搜索文本。

例如,假设我刚搜索了“FooClass”。然后我想搜索“FooMethod”,但不是从头开始输入整个单词,而是想退格5次以删除“Class”,并在“Foo”之后输入“Method”。

谢谢!

2 个答案:

答案 0 :(得分:13)

/ 然后按向上,然后按退格键五次。 (可能假设设置了nocp)。


现在停止阅读,除非你想学习一些花哨的新技巧......

如果你想变得聪明,你也可以使用Ctrl-R将东西拉到搜索框上(例如将光标放在一个单词上,按 / ,然后按住< kbd> Ctrl 然后按 R 然后按 W ,它会将光标下的单词拉到搜索行上:类似于按 * ,但可编辑且没有单词边界)。

如果你想要真的聪明,你可以使用所有vimscript的聪明才能将@/设置为你想要搜索的内容,然后按 n

:let @/ = 'Foo' . 'Method'
n

可能比你想知道的更多......

请参阅:

:help 'nocp'
:help c_CTRL-R
:help c_CTRL-R_CTRL-W
:help *
:help quote/
:help :let-@

答案 1 :(得分:9)

我发现编辑历史记录最适合复杂的搜索。您可以使用q/修改搜索记录。只需编辑您要使用的行,然后按Enter执行该行。

使用此技术改进搜索模式还有great vimcast

:h q/