# vi filename (vi hello.log 打开或新建一个文件)
# vi +/pattern filename (vi +/zhangtx hello.log 打开文件,并将光标定位于与zhangtx第一个匹配的字符串)
# vi -r filename (vi -r hello.log 在上次正用vi编辑时发生系统崩溃,恢复hello.log)
vi基本上可分为三种操作状态,分别是:
(1)命令模式(Command mode)
(2)插入模式(Insert mode)
(3)底线命令模式(Last line mode)
(1)移动光标(区分大小写)【Command Mode模式输入命令】
h 光标左移一个字符
j 光标下移一行(Ctrl + n)next
k 光标上移一行(Ctrl + p)previous
l 光标右移一个字符
w 光标跳到下个word的开头
e 光标跳到下个word的字尾
b 光标回到上个word的开头
G 跳至文章最后一行
$ 跳至该行的末尾
(2)进入Insert Mode命令,(按ESC键退出Insert Mode模式)【Command Mode模式输入命令】
i 在光标前
I 在该行首
a 在光标后
A 在该行尾
o 在当前行之下新开一行
O 在当前行之上新开一行
r 替换当前字符
R 替换当前字符及其后的字符,直至按ESC键
(3)删除【Command Mode模式输入命令】
x 删除当前光标所在的字符
X 删除当前光标前的字符
dd 删除一整行(两次d)
数字 + dd 删除多行(先按数字键,再按dd)
(4)撤销【Command Mode模式输入命令】
u 按一次撤销当前一次操作
(5)退出【底线命令模式】
:q! 退出不保存(输入冒号,接着输入q和感叹号)
:wq 保存退出
(6)搜索、替换【底线命令模式】
/pattern 从光标开始处向文件尾搜索pattern
?pattern 从光标开始处向文件首搜索pattern
:%s/str1/str2/gc 多次替换字符串(str2替换str1,每次都提示是否替换,选择y则替换)