vi編輯器中有三種狀態(tài)模式
1.命令模式
2.輸入模式
3.末行模式
三種模式間的相互轉(zhuǎn)換
vi編輯器的啟動(dòng)與退出
直接進(jìn)入編輯環(huán)境
$ vi
進(jìn)入編輯環(huán)境并打開(新建)文件
$ vi myfile
退出vi編輯環(huán)境
輸入末行命令放棄對(duì)文件的修改,并退出編輯器
:q!
文件保存與另存為
保存文件
保存對(duì)vi編輯器中已打開文件的修改
:w
另存為文件
將vi編輯器中的內(nèi)容另存為指定文件名
:w myfile
退出vi編輯器的多種方法
未修改退出
沒有對(duì)vi編輯器中打開的文件進(jìn)行修改,或已對(duì)修改進(jìn)行了保存,直接退出vi編輯器
:q
保存并退出
對(duì)vi編輯器中的文件進(jìn)行保存并退出vi編輯器
:wq
不保存退出
放棄對(duì)文件內(nèi)容的修改,并退出vi編輯器
:q!
光標(biāo)的移動(dòng)和翻頁(yè)操作
操作類型光標(biāo)操作鍵功能
光標(biāo)移動(dòng)h向左移動(dòng)光標(biāo)
l向右移動(dòng)光標(biāo)
k向上移動(dòng)光標(biāo)
j向下移動(dòng)光標(biāo)
翻頁(yè)Ctrl + f向前翻整頁(yè)
Ctrl + b向后翻整頁(yè)
Ctrl + u向前翻半頁(yè)
Ctrl + d向后翻半頁(yè)
行內(nèi)快速跳轉(zhuǎn)
操作鍵功能
^將光標(biāo)快速跳轉(zhuǎn)到本行的行首字符
$將光標(biāo)快速跳轉(zhuǎn)到本行的行尾字符
w將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的后一個(gè)單詞的首字母
b將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的前一個(gè)單詞的首字母
e將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的后一個(gè)單詞的尾字母
文件內(nèi)行間快速跳轉(zhuǎn)
命令功能
:set nu 在編輯器中顯示行號(hào)
:set nonu 取消編輯器中的行號(hào)顯示
1G跳轉(zhuǎn)到文件的首行
G跳轉(zhuǎn)到文件的末尾行
#G跳轉(zhuǎn)到文件中的第#行
進(jìn)入輸入模式
命令功能
i在當(dāng)前光標(biāo)處進(jìn)入插入狀態(tài)
a在當(dāng)前光標(biāo)后進(jìn)入插入狀態(tài)
A將光標(biāo)移動(dòng)到當(dāng)前行的行末,并進(jìn)入插入狀態(tài)
o在當(dāng)前行的下面插入新行,光標(biāo)移動(dòng)到新行的行首,進(jìn)入插入狀態(tài)
O在當(dāng)前行的上面插入新行,光標(biāo)移動(dòng)到新行的行首,進(jìn)入插入狀態(tài)
cw刪除當(dāng)前光標(biāo)到所在單詞尾部的字符,并進(jìn)入插入狀態(tài)
c$刪除當(dāng)前光標(biāo)到行尾的字符,并進(jìn)入插入狀態(tài)
c^命令刪除當(dāng)前光標(biāo)之前(不包括光標(biāo)上的字符)到行首的字符,并進(jìn)入插入狀態(tài)
輸入模式的編輯鍵操作
按鍵功能
方向鍵進(jìn)行上下左右方向的光標(biāo)移動(dòng)
Home快速定位光標(biāo)到行首
End快速定位光標(biāo)到行尾
PageUp進(jìn)行文本的向上翻頁(yè)
PageDown進(jìn)行文本的向下翻頁(yè)
Backspace刪除光標(biāo)左側(cè)的字符
Del刪除光標(biāo)位置的字符
刪除操作
命令功能
x刪除光標(biāo)處的單個(gè)字符
dd刪除光標(biāo)所在行
dw刪除當(dāng)前字符到單詞尾(包括空格)的所有字符
de刪除當(dāng)前字符到單詞尾(不包括單詞尾部的空格)的所有字符
d$刪除當(dāng)前字符到行尾的所有字符
d^刪除當(dāng)前字符到行首的所有字符
J刪除光標(biāo)所在行行尾的換行符,相當(dāng)于合并當(dāng)前行和下一行的內(nèi)容
撤消操作
命令功能
u取消最近一次的操作,并恢復(fù)操作結(jié)果
可以多次使用u命令恢復(fù)已進(jìn)行的多步操作
U取消對(duì)當(dāng)前行進(jìn)行的所有操作
Ctrl + r對(duì)使用u命令撤銷的操作進(jìn)行恢復(fù)
復(fù)制與粘貼操作
命令功能
yy復(fù)制當(dāng)前行整行的內(nèi)容到vi緩沖區(qū)
yw復(fù)制當(dāng)前光標(biāo)到單詞尾字符的內(nèi)容到vi緩沖區(qū)
y$復(fù)制當(dāng)前光標(biāo)到行尾的內(nèi)容到vi緩沖區(qū)
y^復(fù)制當(dāng)前光標(biāo)到行首的內(nèi)容到vi緩沖區(qū)
p讀取vi緩沖區(qū)中的內(nèi)容,并粘貼到光標(biāo)當(dāng)前的位置(不覆蓋文件已有的內(nèi)容)
字符串查找操作
命令功能
/word從上而下在文件中查找字符串“word”
?word 從下而上在文件中查找字符串“word”
n定位下一個(gè)匹配的被查找字符串
N定位上一個(gè)匹配的被查找字符串
字符串替換操作
命令功能
:s/old/new 將當(dāng)前行中查找到的第一個(gè)字符“old” 串替換為“new”
:s/old/new/g 將當(dāng)前行中查找到的所有字符串“old” 替換為“new”
:#,#s/old/new/g 在行號(hào)“#,#”范圍內(nèi)替換所有的字符串“old”為“new”
:%s/old/new/g 在整個(gè)文件范圍內(nèi)替換所有的字符串“old”為“new”
:s/old/new/c 在替換命令末尾加入c命令,將對(duì)每個(gè)替換動(dòng)作提示用戶進(jìn)行確認(rèn)
vi編輯器的在線幫助
使用vi在線幫助需安裝的軟件包
vim-common-6.3.035-3.i386.rpm
vim-enhanced-6.3.035-3.i386.rpm
軟件包在RHEL5的第2張安裝光盤
使用vi在線幫助的兩種方法
在vi編輯器中按“F1”鍵
輸入help末行命令
:help