vi替換命令

#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行,若是行首有#,則替換爲空(去掉#符號)
相關文章
相關標籤/搜索