我在网上搜索了一段时间,但是没有找到答案。
我的目标是在vim中编辑先前输入的搜索文本。
例如,假设我刚刚搜索了“FooClass”。然后我想搜索“FooMethod”,但我不想从头开始键入整个单词,而是想回退5次以删除“Class”,并在“Foo”后面只输入“Method”。
谢谢!
按下 / 键,然后按下 Up 键,接着连续按下退格键五次。(假设已经设置了nocp
)
除非你想学习一些花式技巧,否则现在请停止阅读...
如果你想变得更加聪明,还可以使用 Ctrl-R
来将内容加入到搜索框中 (例如把光标放在一个单词上,按下 /,然后按住 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-@
q:
。不知何故,我没有意识到相同的概念也适用于搜索。 - Herbert Sitz