vim全域性替換檔案:
語法為 :[addr]s/源字串/目的字串/[option]
全域性替換命令為::%s/源字串/目的字串/g
[addr] 表示檢索範圍,省略時表示當前行。下面是一些例子:如:「1,20」 :表示從第1行到20行;
「%」 :表示整個檔案,同「1,$」;
「. ,$」 :從當前行到檔案尾;
s : 表示替換操作
[option] : 表示操作型別
如:g 表示全域性替換;
c 表示進行確認
p 表示替代結果逐行顯示(ctrl + l恢復螢幕);
省略option時僅對每行第乙個匹配串進行替換;
如果在源字串和目的字串**現特殊字元,需要用」\」轉義
#刪除以#開頭的:
s/^#.*$//g
#如果有些先以空格開頭,並且順便想刪除換行駛符:
s/^[ ]*#.*\n//g
如果想加注釋: s/^/#/g
:n,$s/vivian/sky/g 替換第 n 行開始到最後一行中每一行所有 vivian 為 sky
vim中定位也比較方便,比如想查詢注釋掉的mod_evasinve20,這樣就行了: [ /^#.*mod_evasive20.*$ ]
刪除以//的開頭的注釋行: cat a2.c | grep -v '//' > a3.c
去掉行尾的^m:
%s/\r//g
在命令模式下用:%s/^\/\/.*$//
:g/\/\//d 把整行給刪了.
#將that or this 換成 this or that
:%s/\(that\) or \(this\)/\u\2 or \l\1/
—- #將句尾的child換成children
:%s/child\([ ,.;!:?]\)/children\1/g
—-#將mgi/r/abox換成mgi/r/asquare
:g/mg\([ira]\)box/s//mg//my\1square/g <=> :g/mg[ira]box/s/box/square/g
—-#將多個空格換成乙個空格
:%s/ */ /g
—-#使用空格替換句號或者冒號後面的乙個或者多個空格
:%s/\([:.]\) */\1 /g
—-#刪除所有空行
:g/^$/d
#刪除包含有空格組成的空行
g/^\s*$/d
#刪除所有的空白行和空行
:g/^[ ][ ]*$/d
除以空格或tab開頭到結尾的空行
g/^[ |\t]*$/d
—-#在每行的開始插入兩個空白
:%s/^/> /
—-#在接下來的6行末尾加入.
:.,5/$/./—-
#將x替換為換行符
:s/x/\r/g
#顛倒檔案的行序
:g/.*/m0o <=> :g/^/m0o
—-#尋找不是數字的開始行,並將其移到檔案尾部
:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
在行首或末尾新增指定字元
g/pattern/d 是找到pattern, 刪之
v/pattern/d 是找到非pattern,刪之
#將檔案的第12到17行內容複製10次放到當前檔案的尾部
:1,10g/^/12,17t$
~~~~重複次數的作用
#將chapter開始行下面的第二行的內容寫道begin檔案中
:g/^chapter/.+2w>>begin
—-:/^part2/,/^part3/g/^chapter/.+2w>>begin
—-:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$
刪除包含特定字元的行:
g/pattern/d
刪除包含特定字元行和接下來兩行:
g/pattern/,.+2d
刪除不包含指定字元的行:
v/pattern/d
g!/pattern/d
現實tab鍵以及空格等:
set list!
刪除指定的行:
:x,.d #從x行刪除到當前行;
:.,xd #從當前行刪除到x行;
:x,.+3d #從x行刪除到當前行後第三行;
:x,.-1d #從x行刪除到當前行前一行。
Shell 批量替換 刪除檔案中的內容
大量檔案修改同一內容 find name xml xargs perl pi e s 修改前內容 修改後內容 g 此方法用完後會出現檔案丟失問題,不懂為何。我一一對應找到丟失檔案,重新貼上複製提示檔案還在此資料夾下,只不過隱身了。乙個文件修改大量相同內容 sed i s 修改前內容 修改後內容 g ...
Linux學習筆記之vim中的替換功能
s from to s即substitude s from to 將當前行中的第乙個from,替換成to。如果當前行含有多個from,則只會替換其中的第乙個。s from to g 將當前行中的所有from都替換成to。s from to gc 將當前行中的所有from都替換成to,但是每一次替換之...
vim的檔案中字串的查詢與替換
vim有著強大的替換和查詢功能,若能進行熟練的運用,可以讓工作效率得到乙個很大程度的提高.替換語法 addr s 源字串 目的字串 option addr 表示檢索範圍,如 1,n 表示從第1行到n行 表示整個檔案,同 1,表示從當前行到檔案尾 addr 省略時表示當前行 s 表示替換操作,其為su...