vi是一种所有UNIX like系统中都会内置的一种编辑器,分成三种模式:命令模式、编辑模式和底线命令模式。
命令模式
使用vi直接打开一个文件就会进入命令模式,在该模式下直接输入字符不会对文本进行编辑,而是执行各类命令。在命令模式下,可实现的操作包括移动光标、查找与替换、删除复制等操作,此外还可以直接切换到编辑模式和底线命令模式。
- 移动光标
[Ctrl]+[f] :屏幕向下移动一页
[Ctrl]+[b] :屏幕向上移动一页
0或者功能键[Home] :移动到本行的最前面的字符处
$或者功能键[end] :移动到本行的最后面字符处
G :移动到文件的最后一行
nG :移动到第几行
gg :移动到文件的第一行
n[enter] :n为数字,光标向下移动n行
- 查找与替换
/word :向下寻找一个名为word的字符
:n1,n2s/word1/word2/g :从第n1行到n2行寻找word1替换成word2
:1,$s/word1/word2/gc :从第一行到最后一行寻找word1代替成word2
- 删除、复制和粘贴
X,x :x相当于del,向前删除,X相当于backSpace,向后删除
nx :向后连续删除n个字符
dd :删除光标所在的一行
ndd :删除光标所在向下的n行
yy :复制光标所在的那一行
nyy :复制光标向下的n行
p,P :p为在光标下一行复制,P为粘贴在光标上一行
编辑模式
- 进入
i,I :i从光标所在位置进行插入,I为从光标所在行的第一个非空格字符处开始
a,A :a为光标所在字符处的下一个字符处开始插入,A为所在行的最后一个字符
o,O :o为下一行开始插入,O为上一行开始插入新的行
- 退出
[Esc] :退出编辑模式,回到命令模式
底线命令行模式
- 退出
:q :离开vi
- 保存文件
:w :将文件写入硬盘