天天看點

c替換指定位置字元串_vi如何搜尋和替換字元

請關注本頭條号,每天堅持更新原創幹貨技術文章。

如需學習視訊,請在微信搜尋公衆号“智傳網優”直接開始自助視訊學習

1. 前言

本文主要講解如何在vi編輯器中搜尋和替換字元。

vi提供了幾種通過搜尋指定字元串來搜尋檔案内容的指定位置的方法。vi還具有強大的全局替換功能。

c替換指定位置字元串_vi如何搜尋和替換字元

vi如何搜尋和替換字元

2. vi搜尋字元串

字元串是連續的一個或多個字元。字元串可能包括字母、數字、标點符号、特殊字元、空格、制表符或回車符。字元串可以是文法單詞,也可以是單詞的一部分。

c替換指定位置字元串_vi如何搜尋和替換字元

vi搜尋字元串

要查找字元串,請鍵入/後跟要搜尋的字元串,然後按Return。vi将光标定位在字元串的下一個位置。例如,要查找字元串meta,鍵入/meta并傳回。

鍵入n轉到字元串的下一個比對項。鍵入N以轉到前面的搜尋結果。

要在檔案中向後搜尋,可以使用?而不是/。在這種情況下,n和N的方向相反。

搜尋通常區分大小寫:搜尋A不會找到a。如果你想讓vi在搜尋過程中忽略大小寫,輸入:set ic。要把它改回預設的大小寫模式,輸入:set noic。

如果vi找到請求的字元串,光标将在第一次出現時停止。如果沒有找到字元串,vi将顯示在螢幕最後一行沒有找到的模式。

某些特殊字元(/ & !。^ *

不能識别此Latex公式:  ?)對搜尋過程有特殊意義,在搜尋中使用它們時必須“轉義”。若要轉義特殊字元,請在它前面加上反斜杠。例如,搜尋字元串anything?輸入/anything?并按回車。您可以使用這些特殊字元作為搜尋函數的指令。如果要搜尋包含一個或多個此類字元的字元串,則必須在特殊字元前加上反斜杠。要轉義反斜杠本身,請鍵入。3. vi精準搜尋你可以使搜尋更精确的标簽字元串與名額為下列特點:開始行行結束開始的單詞結束詞通配符vi精準搜尋若要比對行首,請使用插入符号(^)開始搜尋字元串。例如,要查找以abc開頭的下一行,輸入:/^abc若要比對一行的結尾,請使用美元符号(
           

)結束搜尋字元串。例如,查找以abc結尾的下一行。輸入:

/abc.$
           

注意,句點是用反斜杠轉義的。

若要比對單詞的開頭,請在字元串的開頭輸入。是以,要比對一個單詞,而不是字元串,請在搜尋模式中組合單詞結尾和單詞開頭标記。例如,要查找下一個出現的單詞—而不是字元串abc,輸入:

/
           

要比對任何字元,請在要比對的位置的字元串中鍵入句點.。例如,要查找下一個出現的“假資訊”或“錯誤資訊”,輸入:

/.isinformation
           

因為這是一個字元串的搜尋,而不是一個單詞,是以這個搜尋模式也可能會發現misinformationalist和disinformationism這樣的結構。

要搜尋字元串中的可選字元,請将可選字元括在括号中。搜尋模式/[md]stringfind以“m”或“d”開頭的字元串。相反,/[d-m]字元串可以查找從“d”到“m”的任何字母開頭的字元串。

若要比對最後一個字元的零次或多次出現,請在字元串中鍵入星号*。您可以有效地組合方括号和星号來查找定義良好的替代方案。例如,要查找所有以a到z開頭、以isinformation結尾的字元串,并查找所有出現的字元串isinformation,輸入:

/[a-z]*isinformation
           

4. vi替換字元串

替換文本字元串的過程基于前面讨論的搜尋過程。您可以在“搜尋并替換”中使用所有特殊比對字元進行搜尋。

c替換指定位置字元串_vi如何搜尋和替換字元

vi替換字元串

基本的指令形式是:

:g/要搜尋字元/s//被替代的字元/g
           

然後按Enter鍵。

是以,要用newspeak替換字元串disinformation的每次出現,輸入:

:g/disinformation/s//newspeak/g
           

然後按回車。

您可以修改這個指令來停止搜尋,并使vi查詢是否希望在每個執行個體中進行替換。下面的指令使用gc(c代表“consult”,即互動詢問)使vi在出現disinformation時停止,并詢問是否要進行替換。用y表示是,用n表示不是。

:g/disinformation/s//newspeak/gc
           

您可以通過按Ctrl-C取消“互動詢詢問”搜尋和替換功能。

5. 總結

通過本文,你應該對vi的日常操作有所了解了吧?特别是搜尋和替換功能。