1. 程式人生 > >vi中的全局替換

vi中的全局替換

第一個 替換 參數說明 場景 顯示 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中的全局替換