導航:首頁 > 程序命令 > vim替換命令詳解

vim替換命令詳解

發布時間:2023-05-19 12:54:39

A. vim 替換 區分大小寫

題主你好,

vim下大小寫默認就是敏感的, 也就是說默認情況下歷遲無論是 查找 還是 替換 都是區分大小寫的.

假設我的vim中有數據:

另一種是先全局設置忽略大小寫, 然後再用替換命令:

:set ignorecase

:%s/hello/hi/ //注意這個替換後面沒有小尾巴i

截圖就不上了, 結果和上面最後一幅圖是一樣的.

-----

擴展閱讀:

建議題主改一下提問方法, 你這樣提問太簡單了, 你寫的這么簡單有的問題可能答題者直接就能明白你想表達的意思, 但有的問題可能會讓答題者產生歧義, 不知道你想要的結果到底是什麼. 我站在一個答題者的角度來說一下我喜歡什麼樣的問題啊. 直接把你的數據給出來, 或你的具體情況描述出來, 最好是配圖,不配圖的話描述清楚就好, 然後說一下你想要的結果是什麼(也就是說針對某個具體問題你想要的結果). 你提完問題之後可以換位思考一下, 假設自己是一個答題者, 覺得看到這道題會不會一下就明白什麼意思, 如果換位思考後, 你覺得這個問題提的很清晰, 目的很明確那這就是個好問題, 被別人回答的概率也會大很多. 你可以想一下, 如果你作為一個答題者看到別人的提問, 一眼都看不明白啥意思, 或者說看起來有歧義, 相信多數人都會直接略過這道題繼續向下看了, 這樣的提問被回答的概率就小很多.

最近看到了好多的提問, 像"linux查看埠命令", "vim詳解"等等, 我覺得這種問題真的不好肢此李答, 像"linux查看埠命令"來說吧, 最常用的應該是netstat了, 但linux下基本上很少有輸入一個命令就能得到你想要的結果的, 每個命令都有一堆參數, 需要看你的實際情況來選用合適的參數, 也就是說只給你一個命令基本上是沒有意義的. 再說"vim詳解"這種問題, 不管是vim編輯器詳解也好, 某個命令的詳解也好, 站在我的角度來看, 除非是我看到問題的那會兒特別希望把這個命令系統的掌握, 而且當扒搜時頭腦特別的清醒, 否則我是不會理這樣的問題的. 而且就算有人回答你了也可能是從網上隨便過來的. 為啥呢? 因為基本上linux中的每個命令都有很多參數, 把每個參數和具體的注意點都給你解釋清楚那要大把的時間和精力, 一般人不會這么干.

所以, 最好的問題方法就是具體問題具體分析, 把你當前的情況說明白, 再把想要的結果說清楚足矣.

寫在最後: 題主不要覺得我寫的啰嗦, 只是最近看到這樣的問題太多了. 如果題主覺得這段話有幫助就看看, 覺得沒幫助忽略就好, 感謝!

-----

希望可以幫到題主, 歡迎追問.

B. linux在vim下怎麼批量替換或者注釋

方法一 塊選擇模式

插入注釋:

用v進入virtual模式



在10 - 20行添加 # 注釋

:10,20s/^/#/g

在10 - 20行刪除 # 注釋

:10,20s/^/#/g

注意例子中正則的分割符使用的是相反的符號,如果匹配// 那麼使用 #作分隔符這樣不需要對/作轉義處理,節省輸入次數。

C. 如何在 Vim/Vi 中快速查找和替換文本內容

Vim 是 Vi 多模式命令行 編輯器 的加強版,通常默認的Unix或Linux系統中都默認自帶Vi命令編輯器。當然,為了更好的體驗,如果系統默認沒有安裝Vim,建議安裝Vim。

通過本文的講解,你將學會如何在Vim/Vi中快速的使用命令進行查找替換文本。

首先,啟動Vim/Vi編輯器,處於正常模式下。如果你不確定是否處於正常模式下,這時你可以按「ESC」,編輯器就會進入正常模式。

替換命令的格式一般如下:

該命令表示在[range]的每一行中搜索{pattern},並將其替換為{string}。 [count]是一個乘以命令的正整數。

如果沒有給出[range]和[count],則僅替換當前行中找到的模式。

例如,要搜索當前行中字元串「foo」的首次出現,並將其替換為「bar」,可以使用:

要替換當前行中搜索到的所有內容,可以添加 g 標志:

如果想搜索和替換整個文件中的匹配內容,使用百分比字元 % 作為范圍。此字元指示從文件第一行到最後一行的范圍:

如果省略 {string} 部分即上面的bar,則將其視為空字元串,相當於將匹配到的內容替換為空,既刪除匹配到的內容。

以下命令刪除當前行中字元串「foo」的所有實例:

當然,除了作為分隔符外,還可以使用任何其他非字母數字單位元組字元,而不是斜杠字元( / )。例如:

要確認每個替換,可以使用 c 標志。

替換前會詢問:

按 y 替換匹配項,或按l替換匹配項並退出。 按 n 跳過當前匹配,按 q 或 Esc 退出替換。 a 選項替換匹配項和所有剩餘匹配項。

若要向下滾動屏幕,請使用 CTRL + Y ,向上滾動,請使用 CTRL + E 。

還可以使用 正則表達式 作為搜索模式,例如:

^ 符號表示與行首匹配, .* 表示匹配任意數量的字元。

默認情況下,搜索操作區分大小寫;搜索「FOO」將與「FOo」不匹配。

要忽略搜索模式的案例,請使用 i 標志:

另一種強制忽略案例的方法是在搜索模式後添加 \c 。例如, /Linux\c 執行忽略大小寫搜索。

當未指定范圍時,替換命令僅在當前行中操作。

范圍可以是一行,也可以是兩行之間的范圍。 行說明符之間可用英文 , 分隔 ; 字元分割。 可以使用絕對行號或特殊符號指定范圍。

例如,要在從第3行到第10行的所有行中將所有出現的「 foo」替換為「 bar」,可以使用:

該范圍是包含范圍的,這意味著該范圍包括第一行和最後一行。

. 字元表示當前行, $ 美元符號表示最後一行。 要在從當前行到最後一行的所有行中替換「 foo」:

也可以使用「 +」或「-」符號來設置行說明符,其後是從前一個行號添加或減去的數字。 如果省略符號後的數字,則默認為1。

例如,從當前行和接下來的四行開始,用「 bar」替換每個「 foo」,鍵入:

替代命令將模式作為字元串而不是整個單詞查找。 例如,如果您正在搜索「 gnu」,則搜索查找匹配「 gnu」嵌入在較大單詞(例如「cygnus」 或 「magnum」)中的情況。

要搜索整個單詞,請鍵入\ <標記單詞的開頭,輸入搜索模式,鍵入>標記單詞的結尾:

例如,要搜索單詞「 foo」,可以使用 \<foo\> :

Vim會跟蹤您在當前會話中運行的所有命令。

要瀏覽歷史記錄以查找先前的替代命令,請輸入 :s 並使用向上或向下箭頭鍵查找先前的替代操作。 要運行該命令,只需按Enter。 您也可以在執行操作之前編輯命令。

注釋行(在行前添加#)從5到20:

取消注釋行從5到20,恢復以前的更改:

將「蘋果」,「橙色」和「芒果」的所有實例替換為「水果」:

刪除每行末尾的空格:

搜索和替換在Vim中是一個非常強大的功能,學會使用它能使您可以快速更改文本,提高自己的工作效率。

歡迎通過查看我個人介紹信息,私信跟我溝通!

D. centos里vi命令里怎麼替換

替換當前行第一個OLD為NEW
:s/OLD/NEW

替換當前行所以OLD為NEW
:s/OLD/NEW

退換當前文件中的所有OLD為NEW
:%s/OLD/NEW/g

除了上述的幾種替換模式,還可以指定兩個行號,把他們之間所有的OLD替換稱NEW,
語法為,第一個#號表示開始行,第二個#號表示截止行
:#,#s/OLD/NEW/g

替換第三行到第五行所有OLD為NEW
:3,5s/OLD/NEW/g

其中兩個行號也可以只出現一個,省略的那個表示為游標所在的行,例如:

:,5s/OLD/NEW/g 把游標所在行到第5行所有OLD替換為NEW

:5,s/OLD/NEW/g 把第5行到游標所在行所有OLD替換為NEW

另外最後一行可以使用$表示,所以
:%s/OLD/NEW/g 等價於 :1,$s/OLD/NEW/g

E. vim中如何查找和替換字元串

一、 字元串的查找
1. vim 中用 / 和 ? 來查找字元串,兩者的區別是:
/string 會高亮顯示游標後匹配的第一個字元串,回車後游標移到該字元串的第一個字母;
string 會高亮顯示游標前匹配的第一個字元串,回車後游標移到該字元串的第一個字母。
在回車之後,按n鍵同方向轉到下一個匹配的字元串,按N鍵反方向轉到上一個匹配的字元串。
2. 用命令 :set ic 和 :set noic 來分別設置查找時不區分和區分大小寫。
如果查找特殊字元,如 ^、$、*、/ 和 .,需要在前面加 \ 來轉義。
二、字元串的替換
1. vim 中可用 :s 命令來替換字元串,具體如下:
:s/str1/str2/ 替換當前行第一個 str1 為 str2
:s/str1/str2/g 替換當前行中所有 str1 為 str2
:m,ns/str1/str2/ 替換第 n 行開始到最後一行中每一行的第一個 str1 為 str2
:m,ns/str1/str2/g 替換第 n 行開始到最後一行中所有的 str1 為 str2
(註:m和n 為數字,若m為 .,表示為當前行開始;若n為$,則表示到最後一行結束)
如果使用 # 作為分隔符,則中間出現的 / 不會作為分隔符,比如:
:s#str1/#str2/# 替換當前行第一個 str1/ 為 str2/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1/
2. 其他:%s/str1/str2/(等同於 :g/str1/s//str2/) 替換每一行的第一個 str1 為 str2
:%s/str1/str2/g(等同於 :g/str1/s//str2/g 和 :1,$ s/str1/str2/g ) 替換文中所有 str1 為 str2
從替換命令可以看到,g 放在命令末尾,表示對搜索字元串的每次出現進行替換;不加 g,表示只對搜索

F. vim替換一個單詞怎麼做

用命令去替改孝換:

:%s/oldword/newword/g

%是指當前文件的缺嫌所有行

s是搜索(search)

把oldword替換成newword

g是指每行所有匹配的都替換,如果沒有加g,則只替換每行第一個匹配的字元伏殲手串。

不明白的地方歡迎追問!!!

G. vim模式與模式切換vim命令模式

vim有三種模式,本文介紹VIM模式與vim模式切換的方法。

vim命令 模式, 編輯模式 , 尾行模式 和文本編輯命令。

Vim編輯模式插入字元,行尾、行首插入,刪除一個字元和刪除整行命令,Vim復制和粘貼命令,vim替換輸入以及撤銷和反撤銷命令,Vim保存和另存為文件,顯示vim當前編輯文件名。

我們使用vim編輯器的常用文件操作主要是:插入、刪除、復制、粘貼、替換、撤銷、保存、另存為。

在介紹Vim中的上述基本文件操作命令前,需要先介紹下vim的操作模式。因為vim的各種對文件操作命令需要在不同操作模式下使用。

一、Vim三種操作模式

Vim編輯器一共有3種模式,分別為 命令模式 (默認)、編輯模式、尾行模式。這3種模式的轉換關系如下圖所示。

vim三種模式

1 命令模式(command mode)

命令模式是Vim的默認操作模式,當使用vim命令打開一個文件時,默認進入的就是命令模式。不管用戶處於何種模式,只要按下Esc鍵就可使進入命令行模式

2 編輯模式(input mode)

只有在vim編輯模式下,才能將鍵盤鍵入的內容輸入到當前打開的文件中

在命令模式下輸入插入命令i(insert)、附加命令a (append)、打開命令o(open)、修改命令c(change)、取代命令r或替換命令s都可以進入文本編輯模式

3 尾行模式(last line mode)

尾行模式主要用於保存文件或退出Vim,同時也可以設置編輯環境和一些編譯工作,如列出行號(set nu)、尋找字元串(/target)等

在命令模式下,用戶按冒號鍵(:)即可進入末行模式下,此時Vi會在顯示窗口的最後一行顯示一個」:「作為末行模式的提示符,等待用戶輸入命令

二、Vim文本編輯命令

約定:在沒有特殊說明的情況下,以下Vim編輯命令部分提到的命令均是在命令模式下使用。

1 vim插入命令

在命令模式下按以下按鍵可進入編輯模式,執行插入操作,具體包括:

從游標當前所在行的【行首】處開始插入:I

從游標當前所在行的【行尾】處開始插入:A

從游標當前所在行的【下一行】處開始插入:o

從游標當前所在行的【上一行】處開始插入:O

從游標當前所在位置的【前】一個字元處開始插入:i

從游標當前所在位置的【後】一個字元處開始插入:a

tips:i (insert)是在當前位置插入,a (append)表示是在後面追加

2 vim刪除命令

在命令模式下按以下按鍵可執行刪除操作,具體包括:

刪除從游標所在位置到當前【單詞結束】部分的內容並進入插入模式:cw、cW

刪除從游標所在位置到當前【單詞開始】部分的內容並進入插入模式:cb、cB

刪除從游標所在位置到當前【單詞結束】部分的內容但不進入插入模式:dw、dW

刪除從游標所在位置到當前【單詞開始】部分的內容但不進入插入模式:db、dB

刪除游標位置的【一個】字元:x

刪除當前游標所在【行】:dd

刪除從游標所在位置到當前【行首】的內容:d0

刪除從游標所在位置到當前【行尾】的內容:d$

tips:

(1) Vim的命令中,0 表示行首,$ 表示行尾,更多內容可參考卡拉圖Vim操作范圍、文件范圍介紹

(2) w(word)、b(back)命令用於游標移動,具體可參考卡拉圖:vim游標移動命令匯總

(3) cW、cB、dW、dB 命令操作的單詞是以空白字元(空格、Tab)分隔的字元串

刪除當前【段落】從游標位置開始到【段末】的內容:d}

刪除當前【段落】從游標位置開始到【段首】的內容:d{

刪除當前【句子】從游標位置開始到【句末】的內容:d)

刪除當前【句子】從游標位置開始到【句首】的內容:d(

tips:Vim命令中用 ( 和 ) 表示句子,{ 和 } 表示段落

3 vim復制命令、vim粘貼命令

在命令模式下按以下按鍵可執行復制、粘貼操作,具體包括:

將最後一次刪除或復制操作的文本內容粘貼到游標所在字元之【後】:p

將最後一個刪除或復制操作的文本內容粘貼到游標當前字元之【前】:P

復制從游標所在位置到當前【單詞結束】部分的內容:yw

復制游標所在【行】的所有字元 (包含換行符):yy

tips:yyp 操作可以實現復制一整行內容到當前所在行的下一行

4 vim替換命令

在命令模式下按以下按鍵後,再輸入字元可替換原始文件中的內容

一直替換游標所在字元,直到按下[ESC]鍵為止:R

刪除、復制操作的操作單位可以加操作次數,操作對象的范圍為:操作次數 * 操作單位

替換游標當前所在字元一次:r

例如:d3w命令表示刪除三個單詞,10dd命令表示從游標所在行開始刪除後面的十行,更多內容可以參考Vim中的操作符和動作命令。

5 vim撤銷命令、vim回退反撤銷命令

在命令模式下可執行撤銷操作

撤銷最近的一次操作:u

恢復最近的一次操作(取消撤銷):<Ctrl> + r

tips:多次執行u 命令可以連續撤銷最近的操作

6 vim保存命令

在尾行模式下執行以下命令可保存當前編輯的文件內容

保存當前編輯的文件::w

保存當前編輯的文件並退出vim::wq

強制將當前編輯的文件保存::w!

tips:上述操作是在尾行模式下執行的,所以命令都是以:開頭

7 vim另存為命令

在尾行模式下執行命令 :w a.txt 可將vim當前打開的文件另存為新文件a.txt.

tips:w(write) 表示將文件存檔,: 表示尾行模式命令。

8 vim顯示當前文件名的方法

命令 <Ctrl> + g 可顯示當前編輯文件名及行數,可以在不退出 Vim 的情況下了解當前編輯文件的信息,更多內容,可參考30個vim常用命令和使用 vim技巧 。

Vim入門級文件編輯命令匯總就先介紹到這里了,更多Vim文件編輯命令和Vim相關操作可閱讀本站其它文章內容。

H. 在linux下的VIM中替換命令的格式是什麼各部分的含義是什麼

:s/p1/p2/g
用p2替換p1
:n1,n2s/p1/p2/g
將n1到n2行中的p1用p2替換

I. 在 Vim 中怎樣替換每行第二個出現的指定字元

qa02f,r"jq

細說下這串的意思:

  1. "qa",是指進入錄制模式,並以a命名這段錄制;

  2. "02f,",是指游標跳到行首,尋找第二個逗號;

  3. "r"",r是替換,所以是把逗號替換成引號;

  4. "jq",游標移到下一行,並退出錄制模式,這樣一段錄制就好了;

然後,就可以把光掘賣標移到要修改的行,然後按@a重放一遍判皮逗錄制就行了。

J. vi替換字元命令

在vi命令模式下輸入:
:50,100s/man/MAN/g
回車即可。
就是這樣的。

如果是編輯模式,請先按一次ESC回到命令模式後再輸入,確認你的輸入在底部顯示,即是正確的。

閱讀全文

與vim替換命令詳解相關的資料

熱點內容
蘋果筆記本t2加密晶元怎麼打開 瀏覽:796
安卓如何把手機投屏至電視 瀏覽:737
方舟編譯器現在可提速哪些軟體 瀏覽:58
微信加密為什麼是黑屏 瀏覽:473
android去電狀態 瀏覽:602
蘋果13如何加密視頻 瀏覽:813
linuxweblogic緩存 瀏覽:67
雲伺服器不同地域 瀏覽:946
python鬧鍾怎麼打 瀏覽:686
虛擬主機伺服器有什麼區別 瀏覽:833
演算法與程序的奧秘章節檢測 瀏覽:377
找pdf 瀏覽:530
與伺服器連接斷開如何處理 瀏覽:833
伺服器維修預計十分鍾什麼意思 瀏覽:170
黑馬程序員主打教學是什麼 瀏覽:41
python九乘法表怎麼編寫 瀏覽:974
思維方式pdf 瀏覽:656
tcc社區app怎麼注冊 瀏覽:941
央視網下載加密 瀏覽:455
命令行訪問伺服器 瀏覽:37