最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux?vim全局替換的實(shí)現(xiàn)方法

 更新時(shí)間:2023年08月25日 08:39:27   作者:bluewelkin  
這篇文章主要介紹了Linux?vim全局替換的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Linux vim全局替換

Linux命令:vi全局替換方法

語法為 :[addr]s/源字符串/目的字符串/[option]

全局替換命令為::%s/源字符串/目的字符串/g

[addr]: 表示檢索范圍,省略時(shí)表示當(dāng)前行。

  • 如:“1,20” :表示從第1行到20行;
  • “%” :表示整個(gè)文件,同“1,$”;
  • “. ,$” :從當(dāng)前行到文件尾;

s :表示替換操作

[option] :表示操作類型 

  • 如:g 表示全局替換;
  • c 表示進(jìn)行確認(rèn)
  • p 表示替代結(jié)果逐行顯示(Ctrl + L恢復(fù)屏幕);
  • 省略option時(shí)僅對每行第一個(gè)匹配串進(jìn)行替換;
  • 如果在源字符串和目的字符串中出現(xiàn)特殊字符,需要用”\”轉(zhuǎn)義

1. 基本的替換

  • :s/vivian/sky/ 替換當(dāng)前行第一個(gè) vivian 為 sky
  • :s/vivian/sky/g 替換當(dāng)前行所有 vivian 為 sky
  • :n,$s/vivian/sky/ 替換第 n 行開始到最后一行中每一行的第一個(gè) vivian 為 sky
  • :n,$s/vivian/sky/g 替換第 n 行開始到最后一行中每一行所有 vivian 為 sky

(n 為數(shù)字,若 n 為 .,表示從當(dāng)前行開始到最后一行)

  • :%s/vivian/sky/(等同于 :g/vivian/s//sky/)替換每一行的第一個(gè) vivian 為 sky
  • :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky

2. 可以使用 # 作為分隔符,此時(shí)中間出現(xiàn)的 / 不會作為分隔符

  • :s#vivian/#sky/# 替換當(dāng)前行第一個(gè) vivian/ 為 sky/
  • :%s+/oradata/apras/+/user01/apras1+ (使用+ 來替換 / ): /oradata/apras/替換成/user01/apras1/

vim替換和查找

基本查找和替換

在Vim中,可以使用 :substitute(:s) 命令來查找和替換文本。

要在Vim中運(yùn)行命令,必須處于 normal 模式,這是啟動(dòng)編輯器時(shí)的默認(rèn)模式。 要從其他任何模式返回 normal 模式,只需按 Esc 鍵。

替換命令的一般形式如下:

:[range]s/{pattern}/{string}/[flags] [count]

該命令在 [range] 中的每一行中搜索 {pattern} ,并將其替換為 {string} 。 是與命令 [count] 相乘的正整數(shù)。

如果未給出 [range] [count] ,則僅替換當(dāng)前行中找到的 pattern 。 當(dāng)前行是光標(biāo)所在的行。

range確定范圍,不寫默認(rèn)為當(dāng)前行。

%         # 表示整個(gè)文件內(nèi)容
.         # 表示當(dāng)前行
$         # 表示最后一行
m,n       # 表示從第m行到第n行
,n        # 表示從當(dāng)前行到第n行
n,        # 表示從第n行到當(dāng)前行
n         # 指定行
+n        # 表示當(dāng)前行之后的n行

flags為替換標(biāo)志位,默認(rèn)為指定范圍內(nèi)的行的第一次匹配的位置,幫助文檔:h s_flags

常用標(biāo)志如下:

g: global,表示在指定范圍內(nèi)執(zhí)行全局操作,替換所有匹配項(xiàng)
c: confirm,可以確認(rèn)或拒絕修改
n: number,報(bào)告匹配到的次數(shù),不替換,可用來查詢匹配次數(shù)
i: 執(zhí)行不區(qū)分大小寫的替換
I: 執(zhí)行區(qū)分大小寫的替換
e: 防止替換失敗時(shí)顯示錯(cuò)誤消息

單行查找后替換

  • :s/{pattern}/{string}/gc 單行一個(gè)一個(gè)確認(rèn)替換
  • :%s/{pattern}/{string}/gc 范圍整個(gè)頁面一個(gè)一個(gè)確認(rèn)替換
  • :m,ns/str1/str2/ 替換第 n 行開始到最后一行中每一行的第一個(gè) str1 為 str2

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

莒南县| 滨州市| 岑溪市| 龙井市| 积石山| 宜春市| 贡觉县| 甘孜县| 姚安县| 广安市| 县级市| 开江县| 阜宁县| 讷河市| 舒城县| 苏尼特左旗| 土默特左旗| 龙井市| 合肥市| 牙克石市| 平顺县| 喀喇| 盐边县| 禹州市| 呼伦贝尔市| 兴海县| 泌阳县| 清水河县| 静乐县| 彭州市| 长治市| 雅安市| 女性| 上林县| 正定县| 浠水县| 大同市| 彰武县| 连平县| 云林县| 建阳市|