搜尋命令:/正規表示式
替換命令::s/正規表示式/替換字串/選項
:%s/str1/str2/g 該命令中:表示進入命令列模式,%表示對該檔案所有行有效,s表示查詢並替換,正規表示式str1表示被替換的內容,字串str2表示替換後的內容,g表示整行有效
正規表示式字元匹配
例項替換
例項刪除
3.刪除所有空行
:g/^$/d (刪除沒有任何字元除了乙個回車符的行)
:g/^[ \t]*$/d (刪除有空格或是tab符號的所有行)
4.刪除含有某些字元的行
:g/error/d (刪除含有error字元的所有行,d是刪除指令)
5.刪除每行的所有前導空格
:%s/^ *//g (後面的//之間沒有任何東西,也就是說不用任何東西去替換前面的前導空格,即刪除前導空格)
6.在檔案中的每一行的開始插入 -> (或者換其他字元)
:%s/^/->/g
7.在每一行的尾部加上乙個句號(或者其他字元)
:%s/$/。/g
8.刪除以數字開頭的行
:%s/^\d.*$//g
9.刪除以abc三個字母一起開頭的行
:%s/^[a|b|c].*$//g或者:%s/^abc.*$//g
10.刪除重複行
:%s/^\(.*\)\n\1$/\1/g 將兩行重複行壓縮成一行(/^匹配到行首,.*匹配任意多個字元,\(.*\)相當於把之前匹配得到的字元儲存下來,\1就表示儲存的內容,\n\1表示換行之後再去匹配之前儲存的字元,到這裡就匹配了兩行,$接著到換行之後的行尾,之後的\1表示用前面儲存的匹配到的第一行字元去替換匹配得到的兩行字元,這就相當於把兩行重複行壓縮成一行)
:%s/^\(.*\)
\(\n\1
)\+$/\1/g 將多行重複行壓縮成一行 (\n\1)\+表示匹配任意多重複行
例項對調
1.交換列表中所有連字元分隔的條目的順序
如將abc:xyz對換成xyz:abc
:%s/\(.*\):\(.*\)/\2:\1/g \1表示第一次儲存的內容,\2表示第二次儲存的內容
函式式
格式::s/str1/\=函式式
例1:將各行的id字串替換為行號
:%s/\/\=line(".")
\匹配的是單獨的詞id,而不是amid這類嵌在某個單詞裡面的字元。line(".")是返回各行行號的乙個函式。
例2:將每行開頭的單詞替換為(行號-10)
:%s/^\/\=(line(".")-10)
與perl正規表示式的區別
sed用法(用來直接處理檔案)
VI 正規表示式
一 vi中如何使用正規表示式 使用正規表示式的命令最常見的就是 搜尋 命令。其格式如下 正規表示式 另乙個很有用的命令就是 s 替換 命令,將第乙個 之間的正規表示式替換成第二個 之間的字串。s 正規表示式 替換字串 選項 二 元字元 元字元是具有特殊意義的字元。使用元字元可以表達任意字元 行首 行...
vi 中的正規表示式
表 元字元 功能 例子 匹配什麼 錨定行的開始 love 匹配所有以love開頭的行.錨定行的結束 love 匹配所有以love結束的行.匹配乙個字元 l.e 匹配這樣的行,這些行包含這樣的字元,第乙個字元是 l,緊跟著兩個字元,然後是e.代表0個或多個先前字元 love 匹配這樣的行,有0個或者多...
Vi中的正規表示式
毋庸多言,在vim中正規表示式得到了十分廣泛的應用。最常用的 和 s 命令中,正規表示式都是不可或缺的。下面對vim中的正規表示式的一些難點進行說明。vim中有個magic的設定。設定方法為 set magic 設定magic set nomagic 取消magic h magic 檢視幫助 vim...