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

vim的替換命令

發布時間:2024-03-15 11:58:17

⑴ vim 替換 區分大小寫

題主你好,

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

假設我的vim中有數據:

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

:set ignorecase

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

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

-----

擴展閱讀:

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

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

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

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

-----

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

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

方法一 塊選擇模式

插入注釋:

用v進入virtual模式



在10 - 20行添加 # 注釋

:10,20s/^/#/g

在10 - 20行刪除 # 注釋

:10,20s/^/#/g

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

⑶ 如何在 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中是一個非常強大的功能,學會使用它能使您可以快速更改文本,提高自己的工作效率。

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

⑷ 總結linux替換字元串的幾種方法

一)通過vi編輯器來替換。
vi/vim 中可以使用 :s 命令來替換字元串。
:s/well/good/ 替換當前行第一個 well 為 good
:s/well/good/g 替換當前行所有 well 為 good
:n,$s/well/good/ 替換第 n 行開始到最後一行中每一行的第一個 well 為 good
:n,$s/well/good/g 替換第 n 行開始到最後一行中每一行所有 well 為 good
n 為數字,若 n 為 .,表示從當前行開始到最後一行
:%s/well/good/(等同於 :g/well/s//good/) 替換每一行的第一個 well 為 good
:%s/well/good/g(等同於 :g/well/s//good/g) 替換每一行中所有 well 為 good
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符
:s#well/#good/# 替換當前行第一個 well/ 為 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路徑/usr/bin換成/bin

(二)直接替換文件中的字元串。(此法不用打開文件即可替換字元串,而且可以批量替換多個文件。)
1.perl命令替換,參數含義如下:
-a 自動分隔模式,用空格分隔$_並保存到@F中。相當於@F = split 」。分隔符可以使用-F參數指定
-F 指定-a的分隔符,可以使用正則表達式
-e 執行指定的腳本。
-i<擴展名> 原地替換文件,並將舊文件用指定的擴展名備份。不指定擴展名則不備份。
-l 對輸入內容自動chomp,對輸出內容自動添加換行
-n 自動循環,相當於 while(<>) { 腳本; }
-p 自動循環+自動輸出,相當於 while(<>) { 腳本; print; }
用法示例:
perl -p -i.bak -e 's/foo/bar/g' *.c
將所有C程序中的foo替換成bar,舊文件備份成.bak

perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
將當前文件夾下lishan.txt和lishan.txt.bak中的「shan」都替換為「hua」

perl -i.bak -pe 's/(d+)/ 1 + $1 /ge' file1 file2
將每個文件中出現的數值都加一

2.sed命令下批量替換文件內容

格式: sed -i "s/查找欄位/替換欄位/g" `grep 查找欄位 -rl 路徑` 文件名

-i 表示inplace edit,就地修改文件

-r 表示搜索子目錄

-l 表示輸出匹配的文件名
s表示替換,d表示刪除

示例:sed -i "s/shan/hua/g" lishan.txt

把當前目錄下lishan.txt里的shan都替換為hua 各個Linux詳細命令介紹及應用可如下進行查找

閱讀全文

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

熱點內容
原子幣app在哪裡注冊的 瀏覽:519
php數組保存文件 瀏覽:222
無理的命令 瀏覽:506
問道手游解壓失敗是什麼原因 瀏覽:772
mysql命令提示 瀏覽:369
apachephp中文亂碼 瀏覽:335
pythonimportpylab 瀏覽:236
阿里雲app伺服器價格表 瀏覽:978
appstore怎麼搶手機 瀏覽:843
列印伺服器是什麼列印隊列 瀏覽:357
網上怎麼用app辦理營業執照 瀏覽:859
sql如何查看伺服器地址 瀏覽:777
編譯速度和系統有關嗎 瀏覽:56
復盛製冷壓縮機 瀏覽:982
雲伺服器共享手機流量 瀏覽:842
星界邊境像素壓縮 瀏覽:459
演算法分析與設計二手 瀏覽:983
學編程如何配電腦 瀏覽:971
怎麼看特徵找卡密的加密方式 瀏覽:526
方舟非官方伺服器怎麼賺錢 瀏覽:516