在Vim中,您可以按以下方式搜索/替换文本。
:%s/old/new
%s是什么意思?
答案 0 :(得分:10)
%
是运行:s
命令(:substitute
的缩写)的范围。 %
本身是范围:1,$
的缩写,意思是Line 1 to the last line in the buffer
。
Vim帮助有几个主题(用户手册 - :help 10.3,参考手册 - :help cmdline-ranges),描述了范围可以采用的形式。
答案 1 :(得分:4)
:s
的语法(:substitute
的缩写)是:
:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]
%
范围表示“整个文件”。
这非常强大;如果你想在第1行进行替换,你可以使用:
:1s/a/b/
或者,对于第1至3行:
:1,3s/a/b/
一个非常有用(相关)的技巧,是使用可视模式(V
)突出显示线条,然后使用:s
替换您突出显示的线条。
请参阅::help [range]
答案 2 :(得分:1)
:%s/old/new/
这将在整个文档中搜索" old"并用" new"替换每行的第一个实例。您可以使用:%s/old/new/g
替换" old"的所有实例。用" new"。
(基于jamessan评论的更新答案)。
答案 3 :(得分:0)
%s 代表整个文档。见这里: