1.查找
/string 向前查找
?string 向后查找
n 跳到下一位置
2.刪除
dd 刪除光標所在的行
db 刪除光標前面的字
d0 刪除到該行開始所有的字符
dw 刪除光標右面的字
d$ 刪除到該行結束的所有字符
在命令前面加數(shù)字 如 ndd(3dd)就是刪除光標所在的行以及下面的倆行。
3.剪切和黏貼
在這里有個內(nèi)存緩沖區(qū)的問題,也就是說用vi編輯器對文件進行編輯并沒有對文件進行操作,這些都是在緩沖區(qū)里,當編輯完成執(zhí)行:wq時才會替換文本文件,所以刪除也是在內(nèi)存緩沖區(qū)內(nèi)。
p 黏貼到當前光標的后面
P 黏貼到當前光標的前面
4.復制
yy
nyy
5.撤銷
u 撤銷前一條命令的結果
6.重復
. 重復最后一條修改正文的命令
7.插入
i ? ?在光標左邊插入正文
a? ?在光標右面插入正文
o ? 在光標所在行的下面增加新行
O ?在光標所在行的上面增加新行
8.正文替換
正文的獲得一般都是先刪除一段正文,然后對正文進行替換,刪除就會到緩存區(qū)。用于替換的正文。
s??? 用新正文替換光標所指的正文
cw 用新正文替換光標右邊的字
c0? 用新正文替換到該行開始所有的字符
cb ?新正文替換光標前面的字
cd ?新正文替換當前的光標行
c$ 用于新正文替換該行到結尾的所有字符
在命令前面加數(shù)字 如 ncd(3cd)就是替換光標所在的行以及下面的倆行。
9.退出命令
:q? 未做修改時退出
:q! 做出修改,并將修改作廢后退出
10. 保存命令
:w 保存
:wq 保存并退出
11.行號
:n 將光標移到第n行
12.規(guī)則表達式
:/name/ 查找所有包含name的文字。
:/^name/查找以name開頭的文字。
:/name$ 查找以name結尾的文字。
13.設置vi的option
:set option
option中包括:
number 來設置文本的行號
autoindent 自動縮進 noautoindent 來取消
tapstop=4 就是說一個tab鍵跳過4個空格
ignorecase 忽略大小寫 用noignorecase來取消
14.shell 切換
:!command 執(zhí)行command后回到編輯程序。