vim的檔案中字串的查詢與替換

2021-10-06 17:14:00 字數 982 閱讀 9368

vim有著強大的替換和查詢功能,若能進行熟練的運用,可以讓工作效率得到乙個很大程度的提高.

替換語法:[addr]s/源字串/目的字串/[option]

[addr]表示檢索範圍,如:

「1,n」:表示從第1行到n行

「%」:表示整個檔案,同"1,"".

," ".,

"".,

":表示從當前行到檔案尾

[addr]省略時表示當前行

s:表示替換操作,其為substitute的縮寫

[option] : 表示操作型別,如:

g:globe,表示全域性替換

c:confirm,表示進行確認

p:表示替代結果逐行顯示(ctrl + l恢復螢幕)

i:ignore,不區分大小寫

[option]省略時僅對每行第乙個匹配串進行替換

如果在源字串和目的字串**現特殊字元,如』/』,』<』,』>』,』,'等需要前面加反斜槓\進行轉義

常用命令示例:

#將當前行第乙個a替換為b

?/a/b/

#將當前行的所有a替換為b

?/a/b/g

#將每行第乙個a替換為b

:%s/a/b

#將整個檔案的所有a替換為b

:%s/a/b/g

#將1至3行的第乙個a替換為b

:1,3s/a/b/

#將1至3行的所有a替換為b

:1,3s/a/b/g

上面是一些常用的替換,但是我們日常碰到的問題不止這麼簡單,這就要涉及到一些較為高階的替換操作,會涉及到轉義,正規表示式相關的知識,下面是一些例子:

#使用#作為分隔符,此時中間出現的/不會作為分隔符,如:將當前行的字串"a/「替換為"b/」

?#a/#b/#

#找到包含字母a的行並刪除

:g/a/d

#刪除所有空行

:g/^$/d

#多個空格替換為乙個空格

?/ +/ /g

vim替換字串帶斜槓 vim中字串的替換

vi vim 中可以使用 s 命令來替換字串 s vivian sky 替換當前行第乙個 vivian 為 sky s vivian sky g 替換當前行所有 vivian 為 sky n,s vivian sky 替換第 n 行開始到最後一行中每行的第乙個 vivian 為 sky n,s vi...

Python字串string的查詢和替換

hello str hello world 1.判斷空白字元 space str t n r print space str.isspace 2.判斷是否以指定字串開始 print hello str.startswith hello 3.判斷是否已指定字串結束 print hello str.en...

vim中查詢指定字串

0x01 自當前游標位置向上搜尋 pattern enter pattern表示要搜尋的字串 0x02 自當前游標位置向下搜尋 pattern enter 0x03 n繼續從同一方向搜尋 n反方向搜尋 0x04 要查詢單個的pattern,在這個字串前後都加乙個空格 pattern enter 0x...