1、命令模式与插入模式

vi 有两种模式:命令模式(commond mode)和插入模式(insert mode)。命令模式下

命令模式下:控制光标的移动、删除、移动、复制等
插入模式下:编辑文件

命令行模式下 按[i]键可以进入插入模式;插入模式下按[ESC]键可以回到命令模式。

 

 

2、保存并退出文件
:w 保存文件
:q! 不存盘强制退出vi
:wq 存盘并退出vi

  

3、从命令模式到插入模式的几种方式:

[i] 切换进入插入模式,从光标当前位置开始输入文件
[a] 进入插入模式后,从当前光标所在位置的下一个位置开始输入文字
[o] 进入插入模式后,插入新的一行,从行首开始输入文字
 

4、移动光标

格:
h j k l 左、下、上、右移一格

页:
ctrl+b 屏幕向后翻一页
ctrl+f 屏幕向前翻一页
ctrl+u 屏幕向后翻半页
ctrl+d 屏幕向前翻半页

文章:
0 移动到文章的开头
G 移动到文章的最后

行:
$ 移动到光标所在行的行尾
^ 移动到光标所在行的行首

字:
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标回到上个字的开头


#| 光标移动到该行的第#位置

 

5、删除文字

x 删除光标后面一个字符
#x 删除光标后面#个字符
X 删除光标前面一个字符
#X 删除光标前面#个字符
dd 删除光标所在的行
#dd 从光标所在的行开始删除#行

 

6、复制

yw 光标所在之处到字尾的字符复制到缓冲区中
#yw 复制#个字到缓冲区中
yy 复制光标所在的行到缓冲区中
#yy 从光标所在的行往下复制#行
p  将缓冲区的字符到光标所在的位置
 

7、替换

r 替换光标所在处的字符
R 替换光标所在之处的字符,直到按下esc键为止

 

8、u 撤销上一次操作,可以执行多次

9、cw 更改光标所在处的字到字尾处

10、c#w 更改3个字

11、ctrl+g 列出光标所在行的行号

12、#G 移动光标至文章的第15行行首

13、:set nu 列出行号

14、:#  跳到文件中的某一行

15、/string 向后查找字符

16、?string 向前查找字符