将vi光标移动到替换命令的开头

3
如果我要进行长时间的替换,比如:
:%s/<h3>.*<\/h3>/<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"><div class="panel panel-default"><div class="panel-heading" role="tab" id="headingOne"><h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls=" collapseOne">\1<\/a><\/h4><\/div><div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
然而我发现我忘记了在.*周围加上\(\),有没有办法将光标移回到表达式的开头(就像在命令行上使用control-a一样)?
2个回答

4

您可以使用光标键和命令行中的Home / End进行最小导航,但对于如此庞大的命令,我更喜欢通过在命令行中按下<C-F>或使用q:而不是:来切换到命令行窗口。在该窗口中,您可以使用所有Vim命令进行移动和编辑,并通过<Enter>完成和执行。请参见:help q:


太酷了!我以前从没见过命令行窗口! :) - Alan Thompson
对于那些正在尝试它的人(就像我刚刚做的那样),在Vi命令行中输入:q可以关闭命令行而不退出Vi。 - Choylton B. Higginbottom

2

homeend 键可以在行编辑器中移动表达式的起始和结束位置。


完美!顺便说一下,我的 Mac 没有主页键,但可以通过 fn + ← 模拟。 - Choylton B. Higginbottom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接