vi命令行替换

:s 命令来替换字符串

:s/old_string/new_string/ 替换 当前行第一个 old_string为new_string

:s/old_string/new_string/g 替换 当前行所有 old_string 为new_string

:n,$s/old_string/new_string/ 替换 第n行开始到最后一行中每一行的第一个 old_string为new_string

:n,$s/old_string/new_string/g 替换 第n行开始到最后一行中每一行所有 old_string为new_string
其中n 为数字; 若 n 为 .,表示当前行;
.,$s/old_string/new_string 替换 当前行到最后一行中每行第一个 old_string为new_string

:%s/old_string/new_string/(等同于 :g/old_string/s//new_string/) 替换 每一行的第一个 old_string 为 new_string ,其中替换后光标指针位于最后一行行首;对应使用:g/old_string/s//new_string,一定是//new_string

:%s/old_string/new_string/g(等同于 :g/old_string/s//new_string/g) 替换 每一行中所有 old_string 为 new_string

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#old_string/#new_string/# 替换当前行第一个 old_string/ 为 new_string/

g放在命令末尾,表示对搜索范围内的每次出现进行替换;不加 g,表示只对搜索范围内的每行首次出现进行替换;
g放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章