一、基本文法
替換指令文法:
:[addr]s/源字元串/目标字元串/[option]
全局替換:
:%s/源字元串/目标字元串/g
參數說明:
- [addr]——表示檢索範圍,省略時表示目前行。
- "%":表示整個檔案,同"1,$";
- ".,$":從目前行到檔案尾;
- s:表示替換操作
- [option]:表示操作類型
- g:全局替換
- c:表示進行确認
- p:表示替換結果逐行顯示(Ctrl+L恢複螢幕)
- 省略option:預設僅對每行第一個比對串進行替換
- 如果在源字元串和目标字元串中有特殊字元,需要使用“\”轉義
二、使用示例
1.常用場景
- 😒/str1/str2/ ——用str2替換目前行中首次出現的str1
- 😒/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放在指令開頭,表示對正文中所有包含搜尋字元串的行進行替換操作。
作者:AmyZYX
出處:http://www.cnblogs.com/amyzhu/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。