Linux常用命令之vi/vim文本編輯器

vi是Linux/Unix下最常用的文本編輯器

vim是vi的升級(jí)版本

vim 就像 Windows 里面的 notepad++ 一樣

安裝

yum install vim -y

用法

vim requirements.txt

如果沒(méi)有這個(gè)文件,就先創(chuàng)建一個(gè)
移動(dòng)光標(biāo)的位置,通過(guò)上下左右鍵就行


基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線(xiàn)命令模式(Last line mode)。 這三種模式的作用分別是:

命令模式常見(jiàn)操作

1、行號(hào)

顯示

:set nu


不顯示

:set nonu

2、光標(biāo)定位

3、搜索

# 搜索模式
/       # 前向搜索匹配,向光標(biāo)下搜索關(guān)鍵字
?       # 反向搜索匹配,向光標(biāo)上搜索關(guān)鍵字

# 移動(dòng)定位
n       # 跳到下一個(gè)匹配的位置
N       # 跳到上一個(gè)匹配的位置

*       # 對(duì)光標(biāo)當(dāng)前所在的完整單詞進(jìn)行前向搜索匹配
#       # 對(duì)光標(biāo)當(dāng)前所在的完整單詞進(jìn)行后向搜索匹配
g*  # 前向搜索光標(biāo)當(dāng)前所在單詞
g#  # 反向搜索光標(biāo)當(dāng)前所在單詞

重復(fù)上一次搜索//
查看搜索歷史:history /

常用模式串系統(tǒng)

搜索以指定字符串開(kāi)頭或指定字符串結(jié)尾的行
用行首位置\^指定開(kāi)頭字符串,比如/^nice搜索以nice開(kāi)頭的
用行尾位置\$指定結(jié)尾字符串,比如/nice$搜索以nice結(jié)尾的
同時(shí)搜索多個(gè)字符串:用|表示或,使用時(shí)需要用轉(zhuǎn)義字符轉(zhuǎn)義,即\|,也可在開(kāi)頭使用魔術(shù)關(guān)鍵字\v來(lái)實(shí)現(xiàn)不加轉(zhuǎn)義字符,即/\v。
字符組搜索:用[]同時(shí)匹配多個(gè)字符,比如/[0-9a-zA-Z]表示匹配0-9、a-z、A-Z中的任意一個(gè)字符;用[^]取反匹配,比如[^0-9]表示排除0-9中的任意字符。
預(yù)定義的字符組:Vim為常見(jiàn)字符組提供了簡(jiǎn)寫(xiě)。查看所有預(yù)定義字符組:h /character-classes。

\d    # 數(shù)字[0-9]
\D    # 非數(shù)字[^0-9]
\w    # 單詞字符[0-9a-zA-Z_]
\l    # 小寫(xiě)字母[a-z]
\u    # 大寫(xiě)字母[A-Z]
\S    # 非空白字符(除空格和制表符外的所有字符)
\s    # 空白字符(空格和制表符)

搜索重復(fù)字符

采用計(jì)數(shù)參數(shù)來(lái)實(shí)現(xiàn)重復(fù)搜索

{n}是精確匹配。 /[0-9]\{2\}匹配兩個(gè)數(shù)字:"11",以及"111"中的"11"。
{n,m}是范圍匹配。 /[0-9]\{2,3\}匹配 2 到 3 位數(shù)字:"11"和"111"。
{,m}是上限匹配。 /[0-9]\{,3\}匹配最多 3 個(gè)數(shù)字:"1","11"和"111"。
{n,}是下限匹配。 /[0-9]\{2,\}匹配最少 2 個(gè)或多個(gè)數(shù)字:"11"和"111"。

計(jì)數(shù)參數(shù){0,}(零或多個(gè))和{1,}(一個(gè)或多個(gè))是最常見(jiàn)的搜索模式,Vim 為它們提供了特殊的操作符:*和+( +需要被轉(zhuǎn)義,而* 可以正常運(yùn)行而無(wú)需轉(zhuǎn)義)。 如果執(zhí)行/[0-9]*,功能與/[0-9]{0,}相同。

4、替換

5、復(fù)制粘貼

6、刪除

7、撤銷(xiāo)

8、退出

編輯模式

1、進(jìn)入編輯模式

快捷鍵 功能描述
i 在當(dāng)前光標(biāo)所在位置插入隨后輸入的文本,光標(biāo)后的文本相應(yīng)向右移動(dòng)
I 在光標(biāo)所在行的行首插入隨后輸入的文本,行首是該行的第一個(gè)非空白字符,相當(dāng)于光標(biāo)移動(dòng)到行首執(zhí)行 i 命令
o 在光標(biāo)所在行的下面插入新的一行。光標(biāo)停在空行首,等待輸入文本
O 在光標(biāo)所在行的上面插入新的一行。光標(biāo)停在空行的行首,等待輸入文本
a 在當(dāng)前光標(biāo)所在位置之后插入隨后輸入的文本
A 在光標(biāo)所在行的行尾插入隨后輸入的文本,相當(dāng)于光標(biāo)移動(dòng)到行尾再執(zhí)行a命令

2、退出編輯模式

Esc

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容