vi中的全局替換

1、基本語法

替換命令語法:code

:[addr]s/源字符串/目標字符串/[option]

全局替換:字符串

:%s/源字符串/目標字符串/g

參數說明:io

  • [addr]——表示檢索範圍,省略時表示當前行。
    • "%":表示整個文件,同"1,$";
    • ".,$":從當前行到文件尾;
  • s:表示替換操做
  • [option]:表示操做類型
    • g:全局替換
    • c:表示進行確認
    • p:表示替換結果逐行顯示(Ctrl+L恢復屏幕)
    • 省略option:默認僅對每行第一個匹配串進行替換
  • 若是在源字符串和目標字符串中有特殊字符,須要使用「」轉義

2、使用示例

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放在命令開頭,表示對正文中全部包含搜索字符串的行進行替換操做。
相關文章
相關標籤/搜索