- 命令行模式command mode
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
- 插入模式Insert mode
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
- 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
1、常用指令
指令 | |
---|---|
打开文件 | vi 路径/文件名 |
编辑模式 | i |
底行模式 | 「ESC」 |
新建文件 | vi 文件名(记得带上文件后缀) |
查看文件 | cat 文件(记得带上文件后缀) |
保存文件并退出 | 底行模式下,输入 :wq |
强制退出 | 底行模式下,输入 :q! |
保存为**文件名 | 底行模式下,w 文件名 |
恢复上一次操作 | 底行模式下,按u |
查找 | 底行模式下,例如"/hello"或者是"?hello" |
替换 | 底行模式下,把光标移动到需要替换的位置先按r,就可以输入了,再按esc退出替换模式 |
2、底行模式下的一些键的功能:
h
左移光标一个字符
l
右移光标一个字符
k
光标上移一行
j
光标下移一行
^
光标移动至行首
0
数字"0",光标移至文章的开头
G
光标移至文章的最后
$
光标移动至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光标位置前插入字符
a
在光标所在位置的后一个字符开始增加
o
插入新的一行,从行首开始输入
ESC
从输入状态退至命令状态
x
删除光标后面的字符
#x
删除光标后的#个字符
X
(大写X),删除光标前面的字符
#X
删除光标前面的#个字符
dd
删除光标所在的行
#dd
删除从光标所在行数的#行
yw
复制光标所在位置的一个字
#yw
复制光标所在位置的#个字
yy
复制光标所在位置的一行
#yy
复制从光标所在行数的#行
p
粘贴
u
取消操作
cw
更改光标所在位置的一个字
#cw
更改光标所在位置的#个字
w filename
储存正在编辑的文件为filename
wq filename
储存正在编辑的文件为filename,并退出vi
q!
放弃所有修改,退出vi
set nu
显示行号
/或?
查找,在/后输入要查找的内容
n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。