如何在选择中进行查找和替换vi
?
如何在选择中进行查找和替换vi
?
Answers:
在可视模式下选择文本(假定您正在执行此操作),然后按:
开始输入命令,您将在命令行中看到类似以下内容:
:'<,'>
这意味着该命令将应用于选择。然后输入s/search/replace/
并按Enter。(g
如果要替换所有匹配项,请在第三个斜杠后添加一个,c
如果要对每次替换进行确认,则添加一个)
此处建议的大多数其他解决方案都适用于进行选择的ENTIRE线路,这可能不是您想要的。
要仅搜索和替换所选内容,请首先直观地选择文本,然后使用如下命令:
:%s/\%VSEARCH/REPLACE/g
这将进行搜索并仅在视觉选择的部分中进行替换,将SEARCH替换为REPLACE。如果您选择了多条线,那么它也将适用于多条线。
:%s/\%V /\r/g
时没有任何愉悦感。第一个空格被替换,但随后的四个保持不变。
\%VSEARCH%V
不仅需要\%VSEARCH
在此处提供更多帮助搜索并替换为可视选择
Ex命令的范围是按行指定的(请参阅*cmdline-ranges*
),并且在:
可视选择中按时,将在命令行上自动将行范围指定为'<,'>
(请参见*v_:*
),这会使:s[ubstitute]
命令在整行上运行,除非视觉选择边界在搜索模式中用\%V
(请参见*/\%V*
)指定,例如,/\%Vvi\%Vm
仅在视觉选择内匹配“ vim”,其中选择的结尾在搜索模式结束之前\%V
指定,因为每个都将下一个字符指定为视觉选择的开始或结束,因此/\%Vvim\%V
将要求视觉选择在“ m”之后继续以匹配“ vim”。请注意,使用第二个\%V
除非要求匹配在视觉选择的边界处或仅在视觉选择的一部分处进行匹配,否则不需要使用搜索模式。