vi中的全局替換
阿新 • • 發佈:2019-03-26
第一個 替換 參數說明 場景 顯示 ctrl str2 類型 使用
一、基本語法
替換命令語法:
:[addr]s/源字符串/目標字符串/[option]
全局替換:
:%s/源字符串/目標字符串/g
參數說明:
- [addr]——表示檢索範圍,省略時表示當前行。
- "%":表示整個文件,同"1,$";
- ".,$":從當前行到文件尾;
- s:表示替換操作
- [option]:表示操作類型
- g:全局替換
- c:表示進行確認
- p:表示替換結果逐行顯示(Ctrl+L恢復屏幕)
- 省略option:默認僅對每行第一個匹配串進行替換
- 如果在源字符串和目標字符串中有特殊字符,需要使用“”轉義
二、使用示例
1.常用場景
- :s/str1/str2/ ——用str2替換當前行中首次出現的str1
- :s/str1/str2/g ——用str2替換當前行中所有出現的str1
- :.,$s/str1/str2/g ——用str2替換正文當前行到末尾所有出現的str1
- :1,$s/str1/str2/g ——用str2替換正文中所有出現的str1
- :%s/str1/str2/ ——替換每一行中所有str1為str2
- :%s/str1/str2/(等同於:g/str1/s//str2/) ——替換每一行的第一個str1為str2
- :%s/str1/str2/g(等同於:g/str1/s//str2/g) ——替換每一行中所有str1為str2
2.g選項總結:
- g放在命令末尾,表示對搜索字符串的每次出現進行替換;不加g,表示只對搜索字符串的首次出現進行替換。
- g放在命令開頭,表示對正文中所有包含搜索字符串的行進行替換操作。
vi中的全局替換