一、查詢
查詢命令
/pattern :向下查詢pattern匹配字串
?pattern:向上查詢pattern匹配字串
使用了查詢命令之後,使用如下兩個鍵快速查詢:
n:按照同一方向繼續查詢
n:按照反方向查詢
字串匹配
pattern是需要匹配的字串
1: /abc #查詢abc
除此之外,pattern還可以使用一些特殊字元,包括(/、^、$、*、.),其中前三個這兩個是vi與vim通用的,「/」為轉義字元。
1: /^abc #查詢以abc開始的行
2: /abc$ #查詢以abc結束的行
3: //^abc #查詢^abc字串
二、替換
基本替換
1: ?/vivian/sky/ #替換當前行第乙個 vivian 為 sky
2: ?/vivian/sky/g #替換當前行所有 vivian 為 sky
3: :n,katex parse error: expected 'eof', got '#' at position 19: …ivian/sky/ #̲替換第 n 行開始到最後一行中…s/vivian/sky/g #替換第 n 行開始到最後一行中每一行所有 vivian 為 sky
(n 為數字,若 n 為 .,表示從當前行開始到最後一行)
5: :%s/vivian/sky/ #(等同於:1,s/v
ivia
n/sk
y/:g
/viv
ian/
s//s
ky/)
替換每一
行的第一
個viv
ian為
sky1
> 6
m>:: s/vivian/sky/ :g/vivian/s//sky/) 替換每一行的第乙個 vivian 為 sky 1 6: :%s/vivian/sky/g #(等同於:1, s/vivi an/s ky/: g/vi vian /s// sky/ )替換每 一行的第 乙個vi vian 為sky 1> 6m>:: s/vivian/sky/g :g/vivian/s//sky/g)替換每一行的所有 vivian 為 sky 可以使用 #或+ 作為分隔符,此時中間出現的 / 不會作為分隔符 1: ?#vivian/#sky/# 替換當前行第乙個 vivian/ 為 sky/ 2::%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1/ 例如:1: ?/str1/str2/ #用字串 str2 替換行中首次出現的字串 str1 2: ?/str1/str2/g #用字串 str2 替換行中所有出現的字串 str1 3: :.,$ s/str1/str2/g #用字串 str2 替換正文當前行到末尾所有出現的字串 str1 4: :1,$ s/str1/str2/g #用字串 str2 替換正文中所有出現的字串 str1 5: :g/str1/s//str2/g #功能同上@toc 進行全文替換時詢問使用者確認每個替換需新增 c 選項,請輸入 s old new gc vi 替換的標準格式 range s ubstitute c e g p r i i count range 要替換的範圍可用一下 當前行 最後一行 全部等於 1,n 陣列 expr n 和 符號組成的表示式 如... 1.基本的替換 s vivian sky 替換當前行第乙個 vivian 為 sky s vivian sky g 替換當前行所有 vivian 為 sky n,s vivian sky 替換第 n 行開始到最後一行中每一行的第乙個 vivian 為 sky n,s vivian sky g 替換第... s l 100 將100行內的小寫轉換成大寫 vi vim 中可以使用 s 命令來替換字串。s vivian sky 替換當前行第乙個 vivian 為 sky s vivian sky g 替換當前行所有 vivian 為 sky n,s vivian sky 替換第 n 行開始到最後一行中每一行...vi中替換命令
vi中的替換命令
Linux中vi替換命令