欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

學(xué)習(xí)vi編輯器6

系統(tǒng) 1853 0

第六章 全局替換

全局替換真正使用的是ex的兩個(gè)命令: :g (全局)和 :s (替換),替換命令的語法如下:

:s/old/new/

將把當(dāng)前行中模式old第一次出現(xiàn)修改為new./(斜杠)是命令不同部分間的分隔符(當(dāng)斜杠為該行的最后一個(gè)字符時(shí),它是可選的)

:/s/old/new/g

把當(dāng)前行old的每次出現(xiàn)改為new,而不只是該行的第一個(gè)old.:s命令允許替換串后面帶有選項(xiàng).g就代表全局(g選項(xiàng)影響一行中的每個(gè)模式,跟:g命令是不同的)

通過在:s命令前加上地址前綴,可以把它的范圍擴(kuò)展到多行,例如

:50,100s/old/new/g

:1,$s/old/new/g

:%s/old/new/g

確認(rèn)替換

輸入 u 來取消任何搜索替換命令

在進(jìn)行全局替換前使用 :w 保存文件,這樣可以 不保存編輯重開文件 或者輸入 :e!

在替換前看到搜索結(jié)果和確認(rèn)每個(gè)替換,則可以在替換命令的尾部加上c選項(xiàng)(用于確認(rèn))

:1,30s/his/the/gc

vi的 n(重復(fù)上次搜索) 點(diǎn)(.)(重復(fù)上次命令) 命令的結(jié)合也是一種極為有用的方法

/which ????????????搜索which

cwthat ESC ????????修改為that

n ????????????????重復(fù)搜索,跳過一次修改

n ????????????????重復(fù)修改

. ????????????????重復(fù)修改(如果正確)

上下文相關(guān)替換

:%s/editer/editor/g ????????把文件中editer的每次出現(xiàn)替換為editor

:g/patern/s/old/new/g

第一個(gè)g是在文件的所有行上執(zhí)行的命令,模式pattern識別要發(fā)生替換的行.在那些包含模式pattern的行上,ex將把old替換(s)為new.最后的g表示在該行上進(jìn)行全部替換

如果用來進(jìn)行搜索的模式與想要修改的模式相同,就不用重復(fù)它

:g/string/s//new/g

將搜索包含string的行并對string進(jìn)行替換

模式匹配規(guī)則

元字符在搜索模式中的使用

[]中需要\轉(zhuǎn)義的是\ - 和 ]

\<????\>????\(????\) ????比較特殊

POSIX的方括號表達(dá)式

方括號內(nèi)的字符組稱為"括號表達(dá)式" .在括號表達(dá)式中,除了像a !等那樣的字面字符以外,還可以有其他的組成部分,他們是

字符類 ????????由[:和:]包圍的關(guān)鍵字組成,[[:alpha:]!]匹配任何一個(gè)單字母或感嘆號

整理符號 ????被看做單一單元的多字符序列,由[.和.]所包圍的字符組成,[[.ch.]]匹配ch

等價(jià)類 ????????[[=e=]]在法語中可以匹配ēéěèe

POSIX字符類

匹配字符

[:alnum:]

字母數(shù)字字符

[:alpha:]

字母字符

[:blank:]

空格和制表符

[:cntrl:]

控制字符

[:digit:]

數(shù)字字符

[:graph:]

可打印和可見 ( 非空格 ) 字符

[:lower:]

小寫字符

[:print:]

可打印字符 ( 包括空白 )

[:punct:]

標(biāo)點(diǎn)字符

[:space:]

空白字符

[:upper:]

大寫字符

[:xdigit:]

十六進(jìn)制數(shù)字

元字符在替換串中的作用

當(dāng)進(jìn)行全局替換時(shí),正則表達(dá)式只有在命令的搜索部分(第一部分)時(shí)才具有特殊含義,例如:

:%s/1\. Start/2. Next, start with $100/

后面的替換串按照 字面意思處理字符.和$ ,而不對它們進(jìn)行轉(zhuǎn)義

在替換串中具有特殊含義的元字符

\ n ???? 前向引用括號包圍的模式匹配串

\ ????把其后的字符轉(zhuǎn)義,\\輸出自己

& ????代表與搜索模式相匹配的整個(gè)文本???? :%s/abcdefg/&hij/ ????替換文本將是 abcdefghij

\u \l

把替換串中的下一個(gè)字符分別變?yōu)榇髮懟蛐?例如 :%s/\(Thant\) or \(this\)/\u\2 or \l\1/

\U或\L和\e或\E

從它們后面開始到替換串結(jié)束或到\e或\E出現(xiàn)為止的 所有字符都 轉(zhuǎn)換為大些或小寫,例如要把Fortran變成大寫,可以輸入 :%s/Fortran/\UFortran/ 或: %s/Fortran/\U&/

輸入 :set ic 或者 :set ignorecase 忽略大小寫

更多的替換技巧

  1. :s :s//~/ 相同 , 即重復(fù)上次替換
  2. & 表示一次替換 , 比如 :%&g 在各處重復(fù)上次替換
  3. & 鍵也可以作為 vi 命令來執(zhí)行 :& RETURN 命令比 :s RETURN 輸入更快
  4. :~ 命令和 :& 命令相似 , :~ 使用的搜索模式是上次 任何命令 所使用的正則表達(dá)式 , 而不局限于上次替換命令使用的正則表達(dá)式例如

    :s/red/blue/

    /green

    :~

    等價(jià)于 :s/green/blue/

  5. / , 可以使用除 \ " | 之外的任何非字母表、非空白字符作為分隔符 , 例如

    :%s;/user1/tim;/home/tim;g

學(xué)習(xí)vi編輯器6


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 老头天天吃我奶躁我午夜视频 | 精品久久一区二区 | 久久久久久久久99精品 | 一级黄片毛片 | 亚洲一区二区三区高清 | 日本精品视频在线播放 | 中国大陆高清aⅴ毛片 | 国产激情在线观看 | 奇米色777欧美一区二区 | 午夜视频在线免费观看 | 视频一区 中文字幕 | 成人福利在线视频免费观看 | 日韩av成人 | 亚洲一区免费在线 | 91欧美精品综合在线观看 | 视频精品一区 | 天天操夜夜操 | 亚洲成人一区二区三区 | 国产在线永久免费 | 国产精品欧美日韩 | 中文字幕在线一区二区三区 | 国产精品点击进入在线影院高清 | 国产精品久久久久久久午夜 | 欧美激情免费观看一区 | 久久亚洲天堂 | 99久久久久久久 | 日韩 欧美 自拍 | 成人午夜在线视频 | 日韩在线观看网站 | 伊人久久国产 | 性生潮久久久不久久久久 | 国产精品国产成人国产三级 | 亚洲精品一区二区三区在线 | 玖玖精品在线观看 | 神马久久久久久久久 | 色婷婷狠狠| 欧美日韩国产一区二区三区不卡 | 青娱乐成人 | 欧美日韩一区二区中文字幕 | 91免费观看视频 | 山岸逢花在线观看 |