命令行方式:命令行方式是用戶進入vi的初始方式。在此方式中,用戶輸入vi的命令,請求vi爲你完成不一樣的工做。例如:光標移動、刪除字符、刪除單詞等,也能夠進行選定內容的複製、寫盤及退出vi等工做。從命令行方式可切換到其餘;兩種工做方式中,在其餘兩種工做方式下也可返回命令行方式。shell
插入編輯方式:在插入編輯方式下,用戶可在編寫的文件中添加或輸入文本及程序代碼。對初學者來講應注意的是:插入方式並不是是進入vi的初始狀態。需使用vi的「i」「a」(i改的是光標前的a改的是光標後的。)等命令進行切換。當用戶完成插入操做後,須點擊Esc鍵結束插入方式返回命令行方式。命令行
末行命令方式:在vi的末行命令方式下,有許多操做功能相似於命令行方式只是它的命令輸入出如今屏幕的最底部,在命令行方式輸入:「:」「/」‘?"等字符可進入末行命令行方式。在末行命令行方式下,當輸入命令完成後,vi控制程序會自動返回命令行方式下等待下一步操做。3d
命令行方式下經常使用的命令blog
h 光標左移一個字符 字符串
l 光標右移一個字符cmd
k 光標上移一個字符file
j 光標下移一個字符搜索
G 光標移至文件的最後一行請求
nG 光標移至第n行首部程序
0 光標移至首行
$ 光標移至行尾
H光標移至屏幕的最上行
M光標移至屏幕的中部
L 光標移至屏幕的最下行
w 光標右移一個單詞
nw 光標右移n個單詞
b光標左移一個字符
nb 光標右移n個單詞
x 刪除光標所在的字符
dw 刪除光標所在的單詞
dd 刪除光標所在行
D 刪除至行尾部
d0 刪除至行首部
dG 刪除至文件尾部
4dd 從光標所在行開始刪除4行內容
u 取消上一行操做
. 重複上一行操做
Y 將當前行拷貝至編輯緩衝區
5Y 將當前行之後的5行內容拷貝至編輯
緩衝區
p 將 將拷貝至編輯緩衝區拷貝至d當前行後一行
P 將 將拷貝至編輯緩衝區拷貝至d當前行前一行
J 下一行拼接在當前行以後
^d,^f 屏幕向下(向前)滾動
^u,^b 屏幕向上(向後)滾動
^G 顯示當前編輯文件的相關信息
ZZ必要時寫盤並退出編輯
末行命令方式下經常使用的命令
/exp 從光標處向前尋找字符串exp
?exp 從光標處向後尋找字符串exp
n 重複前一行搜索命令
N 從光標處反方向重複前一行搜索命令
:w 寫盤
:w file 寫到盤文件file中
:w >>file 將內容寫至原有內容以後
:w!file 強行進行寫盤文件file的動做
:q 退出編輯程序
:q! 強行退出編輯程序,同時放棄編輯緩衝區的內容
:wq 寫盤後退出編輯程序
;x 對修改後的信息寫盤後退出編輯程序
:e 另行編輯文件
:e! 另行編輯文件同時放棄編輯緩衝區的內容
:e file 打開並編輯文件file
:s/old/new 將當前行中碰到的第一個字符串old改成字符串new
:s/old/new/g 將當前行中碰到的全部字符串old改成字符串new
:3,9s/old/new 對3~9行內容進行:s/old/new 的操做
:%s/old/new 對全部行內容進行:s/old/new 的操做
:%s/old/new/g 對全部行內容進行:s/old/new/g 的操做
:set nu 設置編輯時顯示行號
:set nonu 設置編輯時不顯示行號
:set all 顯示全部環境設置
:set list 顯示不可見字符
:! cmd 在程序運行中執行shell命令cmd
進入插入編輯方式的經常使用命令
a 將文本添加到光標後
A 將文本添加至行尾
cw 修改一個單詞
c3w 修改3個單詞
i 將文本插入到光標前
I 將文本插入行首
o 在光標所在行下面插入新行
O在光標所在行上面插入新行
r 在光標所在位置替換一個字符
R 替換若干個字符