vi查找和替換


vi的使用--使用vi查找和替換

vi提供了幾種定位查找一個指定的字符串在文件中位置的方法。同時還提供一種功能強大的全局替換功能。

1. 查找一個字符串

    一個字符串是一行上的一個或幾個字符。
    為查找一個字符串,在vi命令模式下鍵入“/”,后面跟要查找的字符串,再按回車。vi將光標定位在該串下一次出現的地方上。鍵入n跳到該串的下一個出現處,鍵入N跳到該串的上一個出現處。
    為了在文件中回頭查找,使用?代替/。在此情況下,鍵入n跳到該串的上一個出現處,鍵入N跳到該串的下一個出現處
    如果vi找到要求的串,光標會停留在該串第一次出現的地方。如果沒有找到該串,vi會在屏幕的最后一行顯示pattern not found。
    查找通常是區分大小寫的,如果希望vi在查找過程中忽略大小寫,則鍵入:set ic。要使其變回默認狀態,則鍵入:set noic。
    某些特殊字符(/&!.^*$\?)對查找過程有特殊意義,因此如果這些字符出現在查找串中必須進行轉意。為轉意一個特殊字符,需要在該字符前面加一個反斜杠(\)。例如,要查找字符串anything?,則鍵入/anything\?再按回車鍵。

2. 精確查找字符串

    在vi中可以通過在字符串中加入如下特殊字符,從而使得查找更加精確。
    匹配行首,字符串要以^開頭
    匹配行尾,字符串要以$結束
    匹配詞首,字符串的串首鍵入\<
    匹配詞尾,字符串的串尾鍵入\>
    匹配任意字符,字符串的要匹配的位置鍵入一個點(.)
    例如,
    要查找一個以search為行首的行,則鍵入/^search ,要查找一個以search為行尾的行,則鍵入/search$。

3. 替換一個字符串

   替換字符串是以查找為基礎,所有用於查找的特殊匹配字符都可以用於查找和替換。替換時要指定替換的范圍(1,n),1和n指行號,n為$時指最后一行。s是替換命令,g代表全程替換。例如,

   :l,$s/patternl/pattern2/g——將行l至結尾的文字,patternl的字符串改為pattern2的字符串,如無g則僅更換每一行所匹配的第一個字符串,如有g則將每一個字符串均做更換。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM