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 中怎樣替換每行第二個出現的指定字元
如果排列對齊的話,用ctrl+v選中那個逗號,然後按r再按引號,就會全部替換成引號了;
如果不整齊,可以握羨用錄制的方法:
qa02f,r"jq
細說下這串的意思:
"qa",是指進入錄制模式,並以a命名這段錄制;
"02f,",是指游標跳到行首,尋找第二個逗號;
"r"",r是替換,所以是把逗號替換成引號;
"jq",游標移到下一行,並退出錄制模式,這樣一段錄制就好了;
然後,就可以把光掘賣標移到要修改的行,然後按@a重放一遍判皮逗錄制就行了。
J. vi替換字元命令
在vi命令模式下輸入:
:50,100s/man/MAN/g
回車即可。
就是這樣的。
如果是編輯模式,請先按一次ESC回到命令模式後再輸入,確認你的輸入在底部顯示,即是正確的。