在UNIX/Linux中的vi/vim編輯中可以使用 :s 命令來替換字符串。以前只會使用一種格式來全文替換,今天發現該命令有很多種寫法,而且作用十分強大,還有很多需要學習,記錄幾種常用的在此,方便以後查詢。
:s/procat/law/ 替換當前行第一個 procat為 law;
:s/procat/law/g 替換當前行所有 procat為 law;
:n,$s/procat/law/ 替換第n行開始到最後一行中每一行的第一個procat為law;
:n,$s/procat/law/g 替換第n行開始到最後一行中每一行所有 procat為law,其中n 為數字,若n為“.”,則表示從當前行開始到最後一行;
:%s/procat/law/(等同於 :g/procat/s//law/) 替換每一行的第一個procat為law;
:%s/procat/law/g(等同於 :g/procat/s//law/g) 替換每一行中所有procat為law;
:%s/procat/law/gc(等同於 :g/procat/s//law/gc) 一查詢方式替換每一行中所有procat為law;
若替換字符串中需要替換“/”,則不能使用“/”在命令中作分割符,此時可以可以使用“#”作為分隔符,當命令中出現“#”,則“/”不再被系統認作分隔符
:s#procat/#law/# 替換當前行第一個procat/為 law/