欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 国产激情在线观看 | 久久瑟| 亚洲欧美激情精品一区二区 | 国产成人精品日本亚洲11 | 一本一本久久α久久精品66 | 日韩黄色网 | 日韩精品在线一区 | 在线精品国内外视频 | 日韩在线视频观看 | 国产不卡一区 | 亚洲日本天堂在线 | 国产在线激情视频 | 日本精品一区二区三区在线 | 亚洲欧美一区二区三区综合 | 国产精品九九久久99视频 | 黄片毛片一级 | 一区二区日韩 | 国产一区二区三区乱码 | 麻豆自拍偷拍 | 激情大乳女做爰办公室韩国 | 亚洲视频在线观看 | 日韩高清不卡 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 婷婷玖玖| 91久久国产露脸精品免费 | 成人午夜免费视频毛片 | 99这里只有精品视频 | 自拍偷拍视频网站 | 久久久99精品免费观看 | 精品无人区乱码一区二区三区手机 | 激情视频在线观看网站 | 中文字幕日韩欧美 | 日韩欧美一区二区不卡 | 狠狠干天天干 | 两性欧美 | 久久精品久久久久久 | 亚洲视频欧美视频 | 亚洲欧美日韩在线不卡中文 | 欧美成人26uuu欧美毛片 | 欧美性一区 | 黑丝在线播放 |