### Linux之vi三种模式常用操作的学习
#### 1、vi的三种模式
![](image/734972-20151208224640308-2095732286.jpg)
#### 2、切换到编辑模式的四种方式,编辑模式可以输入任意内容
~~~
a 光标向后移动一位
i 当前位置
o 另起新行
s 删除光标所在字符
r 替换光标所在字符
~~~
#### 3、尾行模式,用于保存内容、查找替换、设置行号等等功能性操作
~~~
:q //quit退出vi编辑器
:w //write保存修改的内容
:wq //保存并退出
:q! //强制退出,当对文本内容作了修改而不想要保存时
:w! //强制保存,当没有文本的写权限时
:set number 或 :set nu //显示行号
:set nonumber 或 :set nonu //取消显示行号
~~~
#### 4、命令模式
~~~
1)光标移动
a、字符级
左(h) 下(j) 上(k) 右(l)
b、单词级
w word移动到下个单词首字母
b before上个单词首字母
e end下个单词结尾
c、行级
0 行首
$ 行尾
d、段落级{ 上 } 下(没必要记忆)
e、屏幕级 H屏首 L屏尾(没必要记忆)
f、文档级
G 文档尾部
nG 文档第n行
gg 文档第一行
crtl+f <--> pagedown向下翻页
crtl+b <--> pageup向上翻页
n+enter 向下移动n行
2)内容删除
dd //删除当前行
ndd //自当前行向下删除n行
x //删除当前字符
cw //删除光标所在字母后面的字符
3)内容复制
yy //复制光标当前行
nyy //自当前行复制n行
p //对(删除)复制的内容进行粘贴
4)相关快捷操作
u //撤销
. //重复上次操作
~~~