Search 如何在vim中编辑搜索文本?
我在网上搜索了一会儿,但找不到答案 我想做的是在vim中编辑之前输入的搜索文本 例如,假设我刚刚搜索了“FooClass”。然后我想搜索“FooMethod”,但我不想从头开始键入整个单词,而是想退格5次以删除“Class”,只需在“Foo”之后键入“Method” 谢谢 按/然后向上,然后后退五次。(可能假设设置了Search 如何在vim中编辑搜索文本?,search,vim,text,edit,Search,Vim,Text,Edit,我在网上搜索了一会儿,但找不到答案 我想做的是在vim中编辑之前输入的搜索文本 例如,假设我刚刚搜索了“FooClass”。然后我想搜索“FooMethod”,但我不想从头开始键入整个单词,而是想退格5次以删除“Class”,只需在“Foo”之后键入“Method” 谢谢 按/然后向上,然后后退五次。(可能假设设置了nocp) 现在停止阅读,除非你想学习一些新奇的技巧 如果你想变得聪明,你也可以使用Ctrl-R将东西拉到搜索框上(例如,将光标放在单词上,按/,然后按住Ctrl,再按R,再按W,
nocp
)
现在停止阅读,除非你想学习一些新奇的技巧 如果你想变得聪明,你也可以使用
Ctrl-R
将东西拉到搜索框上(例如,将光标放在单词上,按/,然后按住Ctrl,再按R,再按W,它会将光标下的单词拉到搜索行上:类似于按*,但可编辑且没有单词边界)
如果你想变得真正聪明,你可以利用vimscript的所有聪明将@/
设置为你想要搜索的任何内容,然后按n:
可能比你想知道的还要多
见:
我发现编辑历史最适合复杂的搜索。您可以使用
q/
编辑搜索历史记录。只需编辑要使用的行,然后按enter键执行该行
还有一个关于使用这种技术改进搜索模式的讨论
:h q/
艾尔——谢谢,里面有些好消息。ctrl+r技巧听起来很酷,但出于某种原因,我得到的是/kb^[而不是光标下的单词。你知道这是什么原因吗?可能是因为它是ctrl+r,ctrl+W而不是ctrl+r,W。这在:help c_ctrl-RYes,抱歉,我不是很清楚。我应该说“按住ctrl,然后按r,再按W”。我将编辑答案以使其更清晰。有关信息,请按住Ctrl-R键,然后松开Ctrl并按W键,将“W”寄存器的内容拉到命令行上(您可以在命令行中放入带有“wyy”的内容)。谢谢。我经常使用
q:
。不知何故,我没有意识到扩展到搜索的相同概念。
:help 'nocp'
:help c_CTRL-R
:help c_CTRL-R_CTRL-W
:help *
:help quote/
:help :let-@
:h q/