1. 程式人生 > 其它 >vim 查詢與替換

vim 查詢與替換

簡單替換表示式

:[range]s/from/to/[flags] 

range:搜尋範圍,如果沒有指定範圍,則作用於當前行。

    :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之間搜尋替換;
    :10s/from/to/ 表示只在第10行搜尋替換;
    :%s/from/to/ 表示在所有行中搜索替換;
    1,$s/from/to/ 同上。

flags 有如下四個選項:

    c confirm,每次替換前詢問;
    e error, 不顯示錯誤;
    g globle,不詢問,整行替換。如果不加g選項,則只替換每行的第一個匹配到的字串;
    i ignore,忽略大小寫。
    這些選項可以合併使用,如cgi表示不區分大小寫,整行替換,替換前詢問。

Vim查詢替換及正則表示式的使用 http://tanqisen.github.io/blog/2013/01/13/vim-search-replace-regex/
example1
:%s/foo/bar/g
:%s/foo/bar/g會在全域性範圍(%)查詢foo並替換為bar,所有出現都會被替換(g)

example2 替換路徑
由於路徑裡面有/需要轉義
例如文本里面:

/data_1/everyday/0714/無標題文件1
/data_1/everyday/0714/無標題文件2
/data_1/everyday/0714/無標題文件3

現在需要把/data_1/everyday/0714替換成/data_2/everyday/0715

:%s/\/data_1\/everyday\/0714/\/data_2\/everyday\/0715/g
好記性不如爛鍵盤---點滴、積累、進步!