#vi替換命令正則表達式
##組成code
:
+行範圍
+s(替換命令)
+/(分割符)
+被替換項(查找項)
+/(分割符)
+替換項
+/(分割符)
+行內範圍g
字符串
##分解 ###行範圍搜索
.
表示當前行(那個是「點」)
+2
表示當前行的下面2行的那行
$
表示最後一行
%
表示全部行(最經常使用)文件
例子以下:
10,20
表示查找範圍是文件的第10行到第20行
.,$
表示查找範圍是文件的當前行到最後一行
+2,$-5
表示查找範圍是文件的(當前行的下面2行的那行)到(最後一行的上面5行的那行)
%
表示查找範圍是文件的全部行vi
###被替換項co
是一個字符串,支持正則表達式,用來匹配要搜索的字符串字符
###替換項分割
是一個字符串,用來替換搜索到的字符串ab
###行內範圍g
若是不含此項g(global),一行內替換成功第一個後,不繼續替換同行裏其餘所匹配到的,而直接轉到下一行處理
##範例
:%s/abc/def/g 把全部行裏的abc替換成def :%s/abc/def 把全部行裏每一行的第一個abc替換成def :+2,$-5s/abc/def 把 當前行下面2行的那行開始 到 倒數第5行,裏面每一行的第一個abc替換成def :2,6s/^/# 把第二行到第六行的行首(^)前面都加上一個# :+2,10s/^#/ 把 當前行下面2行的那行開始 到 第10行,若是行首有#,則替換爲空(去掉#符號)