vi命令有2个模式,即命令模式和编辑模式,首先要确认当前的模式。
进入编译模式
命令 解释
移到当前位置的左侧,开始进行编辑
I 移到当前行的最前面,开始进行编辑
a 移到当前位置的右侧,开始进行编辑
A 移到当前行的最后面,开始进行编辑
o 在当前行的下面插入空行,开始进行编辑
O 在当前行的上面插入空行,开始进行编辑
修改
命令 解释
r 把当前的文字修改为指定的文字(可指定n个文字,例如r3,把3个文字修改为指定的文字)
R 修改多个文字
J 把当前行的换行符修改为空格(可指定n,例如J3,把3行连接到连接成一行)
~ 把当前的文字,改为大写小写(可指定n,例如~3等)
删除
命令 解释
x 删除当前的文字(可使用n,例如x3,删除当前文字开始的3个字)
d 删除当前的文字列(可使用n,例如d3,删除从当前文字列开始的3个文字列)
dd 删除当前的行(可使用n,例如dd8,删除从当前行以后的8行)
:g/文字列/d 删除包括指定文字列的所有行
剪切 拷贝 粘帖
命令 解释
y 拷贝对象文字列(可使用n,例如y3,拷贝当前文字列开始的3个文字列)
yy 拷贝当前行(可使用n,例如yy3,拷贝当前行一下的3行)
P 把拷贝或者删除的文字列,拷贝到当前行的上面
p 把拷贝或者删除的文字列,拷贝到当前行的下面
移动当前位
命令 解释
h 往左移动一个字符(可使用n,例如h3,往左移动3个字符)
j 往下移动一行(可使用n,例如j3,往下移动3行)
k 往上移动一行(可使用n,例如k3,往上移动3行)
l 往右移动一个字符(可使用n,例如l3,往右移动3个字符)
w 把当前位移动到下一个单词(可使用n,例如w3)
b 移动到前一个单词(可使用n,例如b3)
e 移动到单词的最后一个字符,当已在一个单词的最后一个字符的时候,移动到下一个单词的最后一个字符
G 移动到当前文件的最后一行的行首
- 当前行的上面的行首(可使用n,-3)
Enter 当前行的下面的行首(可使用n,Enter3)
Undo
命令 解释
u 取消上一个操作
. 重复上一个操作
文件操作
命令 解释
ZZ 保存并且退出vi
:w(Enter) 保存
:w 文件名(Enter) 保存为指定的文件名
:wq(Enter) 保存并退出vi
:q!(Enter) 不保存并退出vi
:e 文件名(Enter) 打开指定的文件