编辑模式
输入以下命令进行编辑,输入ESC退出编辑
插入
i 在光标位置插入字符
I 在光标所在行开始插入字符
a 在光标位置后插入字符
A 在光标所在行最后插入字符
o 在光标所在行下一行插入新行
O 在光标所在行上一行插入新行
删除
x 删除光标所在位置字符
(n)x 删除由光标位置起始的N个字符
dw 删除光标位置的词组
d0 删除由光标所在行的开始处到光标位置的字符
d$或D 删除由光标位置起始到光标所在行结束
dd 删除光标所在行整行
(n)dd 删除由光标所在行为起始的N行
:start , :end d 删除从start行开始到end行的所有行
光标移动
0或者^ 移动到光标所在行开始位置
$ 移动到光标所在行结束位置
(n)h 光标左移N个字符
(n)l 光标右移N个字符
ctrl+u 屏幕上卷半个屏幕
ctrl+d 屏幕下卷半个屏幕
ctrl+b 屏幕上卷一个屏幕
ctrl+f 屏幕下卷一个屏幕
G 移动文件最后一行
修改
r 修改光标所在字符
(n)r 修改由光标起始位置开始的N个字符
R 由光标位置开始修改直至ESC结束
复制和粘贴
yy 复制光标当前行
(n)yy 复制由光标所在行开始的N行
p 复制暂存数据到光标的下一行
P 复制暂存数据到光标的上一行
排版
J 把光标下一行的数据移动到本行结尾处
其他命令
. 重复上一次的操作
u 撤销上一次的操作
ctrl+g 显示文件信息
1.2.2 命令模式
保存及退出
:e 重新读入当前文件
:e! 强制读入当前文件
:w 将文件保存
:w filename 将文件内容存入到FILENAME文件中
:wq 或者:x 保存并退出VI
:q 退出VI
:q! 强行退出VI不保存修改
:!command 暂时执行SHELL命令,执行完成后返回VI
:sh 暂时退出VI进入到系统命令提示符状态,EXIT
或者CTRL+D返回VI
查找及替换
/text 由光标所在位置开始往下查找字符串text
?text 由光标所在位置开始往上查找字符串text
:n 查找下一个
:start , end s/text1/text2/options 从start行到end行中,用text2替换text1
options = g 将范围内的所有text1都替换成text2
options = go 在屏幕显示各取代的行
options = gc 在每个字符串被替换前要求确认
多文件操作
:args 显示所有被编辑的文件
:n 读入编辑名单中的下一个文件
:e# 读入编辑名单中的上一个文件
:rew 读入编辑名单中的第一个文件
:e file 读入FILE文件
:r file 将FILE文件内容读入到光标下一行