第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 Vim 編輯器教程 Vim 編輯器教程 06 Vim 修改、查找與替換

Vim 修改、查找與替換

文本編輯器最基本的功能就是對文件進(jìn)行增刪改查,前面的小節(jié)我們已經(jīng)講了增刪等相關(guān)內(nèi)容以及操作。這一節(jié)我們來看一下修改、查找和替換。

使用過 Word 的人應(yīng)該很知道,在 Word 中我們使用 ctrl+f 來查找我們需要的內(nèi)容。但是 Word 的查找功能比較單一,Vim 則提供了更加豐富的查找場景:

  • 高亮查找
  • 大小寫敏感查找
  • 重復(fù)查找
  • 預(yù)覽查找

1. 查找

使用查找功能我們需要進(jìn)入普通模式,普通模式如何進(jìn)入前面的小節(jié)已經(jīng)講了,這里不再過多贅述。下面我們來看下針對不同的如何執(zhí)行查找操作:

Tips:通模式下按下 : ,這時你會看到窗口的左下角出現(xiàn)了一個 : ,這時我們就可以輸入我們要查找的內(nèi)容了。

  • 開啟高亮查找:在左下角的 : 后面輸入 set hls,即可高亮顯示查找內(nèi)容。
  • 開啟預(yù)覽查找:在左下角的 : 后面輸入 set incsearch,這時 Vim 會根據(jù)輸入內(nèi)容提前預(yù)覽匹配內(nèi)容,并且實(shí)時更新
  • 正向掃描:在左下角的 : 后面輸入/搜索內(nèi)容,開始從上向下搜索。
  • 反向掃描:在左下角的 : 后面輸入?搜索內(nèi)容,開始從下向上搜索。
  • 大小寫敏感查找:在左下角的 : 后面輸入/搜索內(nèi)容\c,查找的結(jié)果會大小寫不敏感。
  • 大小寫不敏感查找:在左下角的 : 后面輸入/搜索內(nèi)容\C,查找的結(jié)果會大小寫敏感。

查找小實(shí)戰(zhàn)

隨便打開一個文件查找 name/Name:

2. 修改與替換

經(jīng)常替換操作都是簡單的某個字符串替換。Vim 中提供了很多便捷的小技巧來滿足需求

快捷鍵 含義 備注
r 替換光標(biāo)下單個字符
cw 修改單個單詞
c$ 修改光標(biāo)之后行內(nèi)內(nèi)容
R 進(jìn)入替換模式

來看下下面這個案例:進(jìn)入替換模式,替換單個字符并修改單個單詞

3. substitute 替換命令

除了簡單的快捷鍵替換之外。還有更加強(qiáng)大的命令式替換。這種方式為了處理更加復(fù)雜的場景,尤其是結(jié)合正則表達(dá)式。
substitute 是 Vim 中最常用的搜索和替換的命令。可以縮寫為 s。

替換公式::[range]s[ubstitute]/{pattern}/{string}/[flags]
默認(rèn)情況下,s 只會作用域當(dāng)前行的第一個匹配項。
flag選項

選項 含義 備注
g 全局替換 global(也只是針對當(dāng)前行全局而非全文)
c 每次替換前需要確認(rèn) confirm
e 沒有匹配項時不顯示錯誤 error
i 表示忽略大小寫 ignore
I 表示區(qū)分大小寫

range 選項

選項 含義 備注
% 執(zhí)行范圍:全局 這個才是真正意義上的全局
n,m n到m 行替換 :12,33s/time/ting/g
$ 最后一行 :12,$s/time/ting/g
n;/pattern/ n行到下一個匹配patter行 :12;/ting/time/ting/g

實(shí)操部分

打開 main.go 文件,并將文件中的 time 全部替換為 ting:

正則表達(dá)式實(shí)戰(zhàn)

正則表達(dá)式會在后面章節(jié)中詳細(xì)講解。這里只是針對查找場景做展示。
查找 main.go 文件中包含在小括號中的代碼:

Tips: 需要注意這里查找標(biāo)識符后面的\v: 這個主要為了進(jìn)入 very magic 模式——也就是符合正常正則表達(dá)式規(guī)則的模式。詳細(xì)部分會在后面正則表達(dá)式中詳細(xì)講解。

4. 小結(jié)

本節(jié)是工作中使用比較多的。主要難點(diǎn)還是在于結(jié)合正則表達(dá)式,本身的規(guī)則并不復(fù)雜。上述規(guī)則基本滿足很多工作要求。Vim 很多哲學(xué)都是一脈相承的,只要融會貫通即可。