1、vi编辑器打开文件。
例: vi install.log #打开install.log文件
2、vi的三种状态:
命令模式(主要对光标进行操作)、编辑模式、末行模式(带‘:’的)
3、进入文件首先进入命令模式,然后才能进入编辑模式:
输入i,在光标的前面插入字符。按esc键回到命令模式。
输入I,在行首插入字符。
输入a,在光标后插入
输入A,在行末插入
输入o,在光标的下面插入一行
输入O,在光标的上面插入一行
4、命令模式下操作:
h:左移
l:右移动
j:下
k:上
$:将光标移动的行尾
0:将光标移动到行首
M:光标移动到中间位置
L:光标移动到底部
H:光标移动到顶部
w:下一个字或者词
x:删除光标所在处的字符
X:删除光标前的字符
dd:删除光标所在行
ndd:光标所在行下n行被删除,n为数字
D:删除光标处到行尾的字符
r:替换光标所在处的字符
R:光标所在处向后插入替换原来的字符
u:返回上一步操作
U:取消目前的操作,与u基本一样
yy:复制当前行
P:粘贴
p:在光标的上一行粘贴
5、末行模式操作:
q:退出
w:保存
!:强行
q!:强行退出
w!:强行保存
set nu:添加行号
set nonu:取消行号
6、搜索
在命令模式下输入 "/要查找的字符"回车即可
n:搜索下一个
N:搜索上一个
?与/一样
7、末行模式其他操作
:set ic搜索是忽略大小写
:set noic搜索时区分大小写
:f 显示文件名
:!+系统命令
:x 保存退出
:X 加密保存退出
8、替换
:s/p1/p2/g: 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 将文件中所有p1均用p2替换
:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d: 将 n1行到n2行之间的内容删除
:w: 保存当前文件
:e filename: 打开文件filename进行编辑
:x: 保存当前文件并退出
:q: 退出vi
:q!: 不保存文件并退出vi
:!command: 执行shell命令command
:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之, 若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command: 将命令command的输出结果放到当前行