精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

Vim進(jìn)階技術(shù):搜索和替換

發(fā)布時(shí)間:  2012/9/15 21:12:06

行內(nèi)搜索

行內(nèi)搜索,也就是在當(dāng)前行內(nèi)進(jìn)行搜索和移動(dòng),通常都與編輯命令一起使用。

  • fx -- 移動(dòng)到下一個(gè)字符x的位置,光標(biāo)停留在x字符上面
  • tx -- 移動(dòng)到下一個(gè)字符x的位置,光標(biāo)停留在x前一個(gè)字符上
  • Fx -- 移動(dòng)到前一個(gè)字符x的位置,光標(biāo)停留在x字符上面
  • Tx -- 移動(dòng)到前一個(gè)字符x的位置,光標(biāo)停留在x后一個(gè)字符上
  • ; -- 重復(fù)前一個(gè)搜索,向著同一方向,即原來(lái)向前就向前,原來(lái)向后就向后
  • , -- 重復(fù)前一個(gè)搜索,向著反方向

行內(nèi)搜索通常與編輯一起使用:

  • dfx/dtx -- 刪除到下一個(gè)字符x
  • yfx/ytx -- 復(fù)制到下一個(gè)字符x

全局搜索

搜索,分為二個(gè)部分:一個(gè)是搜索命令,另一個(gè)是模式匹配;搜索命令就是各個(gè)編輯器所支持的啟動(dòng)搜索的方式,比如Windows的各種編輯器都是以對(duì)話框的形式。模式就是在對(duì)話框中輸入的要匹配的字串集。本身字串的匹配功能有限,所以就有了專門(mén)用于模式匹配的正則表達(dá)式,它描述了模式匹配的一些規(guī)則,使用這些規(guī)則可以讓匹配更加的強(qiáng)大和精準(zhǔn),多數(shù)編輯器都支持正則表達(dá)式,Vim也不例外,先講一下搜索命令,然后再講對(duì)正則表達(dá)式的支持。

基本搜索命令

  • /pattern -- 向前搜索pattern,光標(biāo)停留在第一個(gè)匹配的第一個(gè)字符上面。向前的意思是向下,或者向著行數(shù)增加的方向。Vim會(huì)亮顯示所有的匹配,并將光標(biāo)停留在當(dāng)前位置的下一個(gè)匹配的首字符上
  • / -- 當(dāng)不提供pattern時(shí),會(huì)向前重復(fù)搜索上一個(gè)pattern,也就是向前重復(fù)搜索的意思,光標(biāo)會(huì)跳到下一個(gè)匹配上面
  • ?pattern -- 與/pattern類似,只不過(guò)它是向后搜索,向著行數(shù)減少的方向。
  • ? -- 與/類似,是不過(guò)是向后重復(fù)搜索
  • n -- 向著同一方向重復(fù)搜索,原來(lái)向前就繼續(xù)向前,原來(lái)向后就繼續(xù)向后(當(dāng)向前搜索時(shí)與/一樣,當(dāng)向后搜索時(shí)與?一樣)
  • N -- 向著反方向重復(fù)搜索,原來(lái)向前就向后,原來(lái)向后就向前(向前時(shí)?一樣,向后時(shí)/一樣)
  • * -- 向前搜索光標(biāo)所在的單詞,只匹配整個(gè)單詞,單詞的定義是一串連續(xù)的字母,數(shù)字,標(biāo)點(diǎn),空白都是單詞的分隔符。
  • # -- 向后搜索光標(biāo)所在的單詞,只匹配整個(gè)單詞
  • /?+上下方向鍵 -- 像其他的命令提示符一樣,方向鍵可以方便的引用歷史搜索記錄如,搜索記錄為error, grape, that,那么按了/后,再按向上方向鍵:/that,再向上:/grape,向下:/that,再次按回車就可以搜索了。

正則表達(dá)式

如前提及,模式匹配在搜索當(dāng)中有重要的作用。正則表達(dá)式(Regular Expression)是專門(mén)用于描述搜索中的(Pattern)模式的。使用正則表達(dá)式來(lái)構(gòu)建pattern可以讓搜索更加強(qiáng)大和精準(zhǔn)。有關(guān)正則表達(dá)式的詳細(xì)內(nèi)容可以參閱《Mastering Regular Expression》這本書(shū)。正則表達(dá)式僅是一種規(guī)范,但是各種常用的工具和編程語(yǔ)言都對(duì)正則表達(dá)式有不同程度的支持。正則表達(dá)式有二類:一是正常的字符,僅匹配自身,如"that",只能匹配"that";另一類就是具有特殊意義的元字符。不像基本字符,元字符具有特殊的含義,如.(句點(diǎn))可以匹配任意除換行符外的單個(gè)字符。正則表達(dá)式就是學(xué)習(xí)各種元字符的使用。

Vim對(duì)正則表達(dá)式有很好的支持,它的常用元字符有:

通用匹配:

  • . -- 匹配任何除換行符外的單個(gè)字符
  • \s -- 匹配一個(gè)空白符(space或tab)
  • \S -- 一個(gè)非空白符
  • ^ -- 僅匹配行首,也即必須以模式開(kāi)頭
  • $ -- 僅匹配行尾,也即必須以模式結(jié)尾
  • \< -- 匹配詞首,單詞定義為一連串的字母,標(biāo)點(diǎn)空白和數(shù)字均視為分隔符
  • \> -- 匹配詞尾。
  • \<...\> -- 匹配整個(gè)單詞(前面命令中的*和#就是用這個(gè)來(lái)只匹配單詞)。當(dāng)然\<和\>不必一起使用,可以分開(kāi)使用

限量符:

  • * -- 前一個(gè)字符出現(xiàn)0次或多次,如a*,可以匹配'', 'a', 'aa'或'aaa'等
  • \+ -- 前一個(gè)字符出現(xiàn)1次或多次
  • \= -- 前一個(gè)字符出現(xiàn)0次或1次
  • \{n,m} -- 前一個(gè)字符出現(xiàn)n到m,如a\{3,5},則可以匹配'aaa', 'aaaa'或'aaaaa'
  • \{n} -- 前一個(gè)字符出現(xiàn)n次
  • \{n,} -- 前一個(gè)字符出現(xiàn)n次到最多次數(shù)(32000)
  • \{} -- 0次或多次,與*一致

操作符:

  • \| -- 或,如ab\|ba,則匹配'ab'或'ba'

其他:

  • [...] -- 字符集,表達(dá)一組字符的集合,匹配其中任何一個(gè)字符

    如[abc],則匹配a或b或c。連續(xù)的字符可以用-代替如,[a-c]則匹配a或b或c,[0-9]匹配0到9中任何一個(gè)數(shù)字,[a-zA-Z]匹配任何一個(gè)字母。通常與限量符一起使用,如:/[a-z]\{3,6},長(zhǎng)度3到6的小寫(xiě)字串,/[0-9]\{2,4}長(zhǎng)度2到4的數(shù)字。

  • \(...\) -- 組合,把內(nèi)部看成一個(gè)整體并保存起來(lái)以便后續(xù)引用。本身作用不大,要與其他元字符一起使用才能發(fā)揮其功效
  • \n -- 其中n=1~9,對(duì)組合的引用,也即引用\(...\)中所匹配的內(nèi)容

    如,/\(that\)\1,則匹配thatthat;/\([a-z]\).\1則匹配,aba, aoa, bcb等。

全局替換

替換也是編輯器中一個(gè)必不可少的功能,Vim對(duì)于替換也提供了強(qiáng)大的支持。

命令格式

:[range]s/pattern/replacement/[options]

把[range]所指的范圍內(nèi)的pattern替換為replacement

詳解

  • range -- 可選。如果缺省就指當(dāng)前行,也就是后面的命令僅對(duì)當(dāng)前行有效

    指定方式:n,m -- 從第n行到第m行,包括第n行和第m行。其中.代表當(dāng)前行; $代表最后一行; %表示全局,等同于1,$

  • options -- 可選,缺省時(shí)只替換一行中的第一個(gè)匹配

    常用:g -- 把一行中的所有匹配都替換;c -- 替換之前要求確認(rèn)

示例:

  • :s/old/new -- 當(dāng)前行中的第一個(gè)old替換為new
  • :s/old/new/g -- 當(dāng)前行中的所有old替換為new
  • :s/old/new/gc -- 當(dāng)前行中的所有old替換為new,每一個(gè)替換之前要求確認(rèn)
  • :5,20s/old/new/gc -- 5到20行中的所有old替換為new,每一個(gè)替換之前要求確認(rèn)
  • :.,20s/old/new/g -- 當(dāng)前行到20行中的所有old替換為new
  • :.,$s/old/new/gc -- 當(dāng)前行到最后一行中的所有old替換為new
  • :%s/old/new/gc -- 全局替換,文檔中所有的old替換為new

根據(jù)條件替換

前面的替換方式是以行的方式指定具體的范圍,也可以以另外一種方式指定范圍:

:g/pattern/s/old/new/gc

全局查找pattern,對(duì)于匹配pattern的行進(jìn)行后面的替換,這里的pattern和old都可以使用正則表達(dá)式,但是replacement是不能使用正則表達(dá)式的,對(duì)于replacement,它有自己專屬的規(guī)則。

replacement中的規(guī)則

  • >\n n = 1~9 -- 引用pattern中的組合\(...\)。

    最常用的方式就是調(diào)換二個(gè)詞的順序或者用于重復(fù)輸入,如:

    • :s/\(that\), \(what\)/\2, \1 -- that, that被換成what, that

     

  • & -- 替換為模式的匹配,也即如果pattern匹配that,那么&就是that

    咋一聽(tīng)貌似這個(gè)沒(méi)啥用處,如:s/that/&/gc,這與未替換之前是一樣的。它也常用于重復(fù)輸入,如:

    • :s/that/&,&,what/gc -- that替換成that, that, what
    • :s/.*/{&}/g -- 把當(dāng)前行用{}括起來(lái)

     

  • ~ -- 替換為上一次替換命令所用的replacement,而pattern不必相同,也多用于重復(fù)編輯

    如:

    • :s/their/our/g -- their --> our
    • :s/his/~/g -- his --> our
    • :s/my/~/g -- my --> our

     

  • \u或\l -- 把接下來(lái)下一個(gè)字母轉(zhuǎn)成大寫(xiě)或小寫(xiě)

    如::s/that/\uthat/g -- that --> That; :s/That\lThat/g -- That --> that。這多少顯得有些弱智,直接拼大寫(xiě)或小寫(xiě)更方便。

    這二個(gè)多用于變量,如:

    • :s/\(what\)/\u\1/g -- what --> What;
    • :s/\(.*\)/\u&/g 行首大寫(xiě);
    • :s/\([a-zA-Z]\+\)/\u&/g 每個(gè)單詞都Captalization

     

  • \U或\L和\e或\E -- 把replacement中的從\U或\L到\e或\E的所有字母都轉(zhuǎn)成大寫(xiě)或小寫(xiě),如::s/restore/re\Usto\ere/ -- restore --> reSTOre,這也很弱智。

    還是與變量才更強(qiáng)大:

    • :s/restore/\U&/g -- restore --> RESTORE;
    • :s/ResTore/\L&/g -- ResTore --> restore

     

替換中的技巧

  • :s或:&或:~ -- 重復(fù)上次替換命令。可以加上選項(xiàng)g,:sg或:&g或:~g,則會(huì)對(duì)當(dāng)前行所有匹配進(jìn)行替換

    也可以加上范圍% :%sg或:%&g或:%~g,則會(huì)對(duì)全文所有匹配都替換。

  • :s/pattern/replacement與:s/pattern/replacement一樣
  • & -- 直接使用命令&與:&和:s和:~是一樣的,即重復(fù)上一次替換
  • :和方向鍵,方向鍵也可以引用歷史命令

Vim中的搜索和替換博大精深,要想掌握好唯有不斷的練習(xí)與實(shí)踐,這些講的僅是一個(gè)開(kāi)端。

億恩-天使(QQ:530997) 電話 037160135991 服務(wù)器租用,托管歡迎咨詢。


本文出自:億恩科技【www.zuiquanben.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1-20183354
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 網(wǎng)絡(luò)版權(quán)侵權(quán)舉報(bào)電話:0371-60135995
  • 警情提示:注意防范電信網(wǎng)絡(luò)詐騙
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2026 ENKJ All Rights Reserved 地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師  B1-20183354   京公網(wǎng)安備41019702002023號(hào) 
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線

     
     
    精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费
    日韩1区2区日韩1区2区| 一区二区国产精品| 国产成人精品三级高清久久91| 亚洲精品电影| 日本不良网站在线观看| 老牛国内精品亚洲成av人片| 精品一区二区三区视频在线播放 | 日本99精品| 亚洲精一区二区三区| 日韩在线一二三区| 国产精品宾馆| 99久久婷婷这里只有精品| 欧美日韩日本国产亚洲在线| 日韩精品一区二区三区免费观看| 精品欧美一区二区三区在线观看| 亚洲精品一级| 成人在线免费观看网站| 久久不卡日韩美女| 国内精品麻豆美女在线播放视频| 精品久久在线| 日韩在线免费| 韩日一区二区三区| 亚洲精品激情| 日韩av资源网| 久久a爱视频| 日本久久综合| 影音国产精品| 亚洲欧美日韩国产一区| 麻豆一区二区三区| 黄色精品视频| 欧洲av一区二区| 伊人久久亚洲美女图片| 婷婷综合成人| 精品国产a一区二区三区v免费| av在线资源| 日韩高清欧美激情| 欧美天堂在线| 久久精品av| 国产一精品一av一免费爽爽| 国产免费av国片精品草莓男男| 米奇777超碰欧美日韩亚洲| 野花国产精品入口| 四虎成人av| 久久天堂av| 亚洲一区日本| 欧美日韩在线精品一区二区三区激情综合| 国产欧美日韩精品高清二区综合区| 久久中文字幕一区二区| 久久人人99| 日韩三级一区| 亚洲精品1区2区| 亚洲97av| 国产专区精品| 中文一区二区| 国产精品日本一区二区三区在线| 超碰在线99| 日韩精品一区第一页| 久久精品国产99国产| 午夜久久福利| 国产精品极品国产中出| 不卡在线一区| 欧美激情视频一区二区三区免费| 欧美特黄一级| 久久中文字幕一区二区三区| 国产精品毛片在线看| 国产精品视频3p| 国产亚洲欧洲| 国产福利亚洲| 美女国产一区| 韩国久久久久久| 亚洲aa在线| 亚洲韩日在线| 麻豆传媒一区二区三区| 在线视频精品| 国产成人免费| 日韩一区网站| 国产一区日韩一区| 国产精品22p| 久久国产精品毛片| 国产精品久久久久久久久妇女| 蜜臀91精品一区二区三区| 国产精品不卡| 亚洲精品免费观看| 蜜桃国内精品久久久久软件9| 麻豆国产欧美日韩综合精品二区| 蜜臀久久久久久久| 久久精品免费一区二区三区| 国产精品极品在线观看| 在线一区二区三区视频| аⅴ资源天堂资源库在线| 日本99精品| 性一交一乱一区二区洋洋av| 欧洲一区二区三区精品| 国产精品第十页| 五月亚洲婷婷 | 亚洲免费黄色| www在线观看黄色| 青青草精品视频| 久久亚洲视频| 久久久精品五月天| 精品国产一区二区三区av片| 91嫩草精品| 综合日韩在线| 久久高清国产| 久久久久国产精品一区三寸| 国产精品久久观看| 麻豆高清免费国产一区| 欧美亚洲tv| 亚洲精品在线a| 一区二区亚洲视频| 影音先锋国产精品| 蜜臀91精品国产高清在线观看| 亚洲1234区| 高清av一区| 国产精品99在线观看| 精品国产欧美日韩| 久久中文精品| 精品在线网站观看| 麻豆国产91在线播放| 久久精品超碰| 亚欧成人精品| 日韩精品1区2区3区| 亚洲精品日韩久久| 亚洲美女91| 日韩欧乱色一区二区三区在线| 免费在线观看一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 免费看黄色91| 日韩精品一区二区三区免费视频| 天堂俺去俺来也www久久婷婷| 午夜性色一区二区三区免费视频| 日韩中文一区二区| 青青草91视频| 麻豆国产欧美一区二区三区| 国产乱人伦精品一区| 国产日产精品一区二区三区四区的观看方式| 免费观看在线色综合| 亚洲影视一区二区三区| 午夜久久av| 国产精品麻豆成人av电影艾秋 | 亚洲欧美在线综合| 日韩精品一级| 国产精品免费不| 国产色噜噜噜91在线精品| 国产精品久久久网站| 精品久久97| 欧美sss在线视频| 欧美亚洲国产一区| 亚洲精品国产偷自在线观看| 在线精品视频一区| 国产日本精品| 久久亚洲黄色| 午夜精品久久久久久久久久蜜桃| 在线日韩电影| 先锋影音国产一区| 日韩av网站在线观看| 国产精品mv在线观看| 三上亚洲一区二区| 亚洲精品国产偷自在线观看| 综合激情一区| 久久久久97| 欧美va天堂| 免费欧美在线视频| 欧美片第1页综合| 国产精品成人a在线观看| 久久久久久美女精品| 性色一区二区| 国产精品亚洲片在线播放| 国产 日韩 欧美 综合 一区| 欧美美女一区| 国产一级成人av| 久久精品免费一区二区三区 | 91tv亚洲精品香蕉国产一区| 99国内精品| 欧美视频二区| 日韩精品中文字幕第1页| 香蕉久久夜色精品国产| 国产精品伦一区二区| 999国产精品| 日本视频在线一区| 国产精品毛片久久| 久久亚洲色图| 久久精品国产99国产精品| 激情综合网五月| 国产午夜久久av| 久久亚洲国产| 日韩毛片网站| 午夜av不卡| 日韩精品午夜视频| 99视频精品全部免费在线视频| 亚洲午夜免费| 久久久人人人| 91欧美日韩在线| 播放一区二区| 97成人在线| 夜久久久久久| 激情黄产视频在线免费观看| 亚洲精品乱码日韩| 色吊丝一区二区| 国产精品探花在线观看|