vi 編輯器中有三種狀態模式
1. 命令模式
2. 輸入模式
3. 末行模式
三種模式間的相互轉換
vi 編輯器的啓動與退出
直接進入編輯環境
$ vi
進入編輯環境並開啓(新建)檔案
$ vi myfile
退出 vi 編輯環境
輸入末行命令放棄對檔案的修改,並退出編輯器
:q!
檔案儲存與另存為
儲存檔案
儲存對 vi 編輯器中已開啓檔案的修改
:w
另存為檔案
將 vi 編輯器中的內容另存為指定檔名
:w myfile
退出 vi 編輯器的多種方法
未修改退出
沒有對 vi 編輯器中開啓的檔案進行修改,或已對修改進行了儲存,直接退出 vi 編輯器
:q
儲存並退出
對 vi 編輯器中的檔案進行儲存並退出 vi 編輯器
:wq
不儲存退出
放棄對檔案內容的修改,並退出 vi 編輯器
:q!
遊標的移動和翻頁操作
操作型別遊標操作鍵功能
遊標移動 h 向左移動遊標
l 向右移動遊標
k 向上移動遊標
j 向下移動遊標
翻頁 Ctrl + f 向前翻整頁
Ctrl + b 向後翻整頁
Ctrl + u 向前翻半頁
Ctrl + d 向後翻半頁
行內快速跳轉
操作鍵功能
^將遊標快速跳轉到本行的行首字元
$將遊標快速跳轉到本行的行尾字元
w 將遊標快速跳轉到當前遊標所在位置的後一個單詞的首字母
b 將遊標快速跳轉到當前遊標所在位置的前一個單詞的首字母
e 將遊標快速跳轉到當前遊標所在位置的後一個單詞的尾字母
檔案內行間快速跳轉
命令功能
:set nu 在編輯器中顯示行號
:set nonu 取消編輯器中的行號顯示
1G 跳轉到檔案的首行
G 跳轉到檔案的末尾行
#G 跳轉到檔案中的第 #行
進入輸入模式
命令功能
i 在當前遊標處進入插入狀態
a 在當前遊標後進入插入狀態
A 將遊標移動到當前行的行末,並進入插入狀態
o 在當前行的下面插入新行,遊標移動到新行的行首,進入插入狀態
O 在當前行的上面插入新行,遊標移動到新行的行首,進入插入狀態
cw 刪除當前遊標到所在單詞尾部的字元,並進入插入狀態
c$刪除當前遊標到行尾的字元,並進入插入狀態
c^命令刪除當前遊標之前(不包括遊標上的字元)到行首的字元,並進入插入狀態
輸入模式的編輯鍵操作
按鍵功能
方向鍵進行上下左右方向的遊標移動
Home 快速定位遊標到行首
End 快速定位遊標到行尾
PageUp 進行文字的向上翻頁
PageDown 進行文字的向下翻頁
Backspace 刪除遊標左側的字元
Del 刪除遊標位置的字元
刪除操作
命令功能
x 刪除遊標處的單個字元
dd 刪除遊標所在行
dw 刪除當前字元到單詞尾(包括空格)的所有字元
de 刪除當前字元到單詞尾(不包括單詞尾部的空格)的所有字元
d$刪除當前字元到行尾的所有字元
d^刪除當前字元到行首的所有字元
J 刪除遊標所在行行尾的換行符,相當於合併當前行和下一行的內容
撤消操作
命令功能
u 取消最近一次的操作,並恢復操作結果
可以多次使用 u 命令恢復已進行的多步操作
U 取消對當前行進行的所有操作
Ctrl + r 對使用 u 命令撤銷的操作進行恢復
複製與貼上操作
命令功能
yy 複製當前行整行的內容到 vi 緩衝區
yw 複製當前遊標到單詞尾字元的內容到 vi 緩衝區
y$複製當前遊標到行尾的內容到 vi 緩衝區
y^複製當前遊標到行首的內容到 vi 緩衝區
p 讀取 vi 緩衝區中的內容,並貼上到遊標當前的位置(不覆蓋檔案已有的內容)
字串查詢操作
命令功能
/word 從上而下在檔案中查詢字串 “word”
?word 從下而上在檔案中查詢字串 “word”
n 定位下一個匹配的被查詢字串
N 定位上一個匹配的被查詢字串
字串替換操作
命令功能
:s/old/new 將當前行中查詢到的第一個字元 “old” 串替換為 “new”
:s/old/new/g 將當前行中查詢到的所有字串 “old” 替換為 “new”
:#,#s/old/new/g 在行號 “#,#” 範圍內替換所有的字串 “old” 為 “new”
:%s/old/new/g 在整個檔案範圍內替換所有的字串 “old” 為 “new”
:s/old/new/c 在替換命令末尾加入 c 命令,將對每個替換動作提示使用者進行確認
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