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命令 |