vi分三种模式:一般模式,编辑模式,命令行模式。
1. 一般模式,一般在进入文件时就是该模式,在此模式中,可以通过上下左右键移动光标,可以删除字符或是删除整行,可以复制粘贴,但不能编辑。
2. 编辑模式:一般模式可以复制粘贴删除,但要编辑,需按下i,I,o,O,a,A,r,R等字母,才会进入编辑模式,按下按钮后,屏幕左下方会出现INSERT或REPACE等字样,如果要回到一般模式,按Esc键。
3. 命令行模式,在一般模式下输入“:”或“/”就可以将光标移到末行,在此模式中,可以搜寻数据,读取,存盘,大量字符替换,退出vi,显示行号等。
常用指令简介
一般模式
1. 光标:
h 方向左键
j 方向下键
k 方向上键
l 方向下键
ctrl+f 向前翻动一页
ctrl+b 前后翻动一页
0 移动到此行的一个字符处
$ 移动到此行的最后一个字符
n《enter》光标下移n行
2. 查找替换
/word 在光标之后查找一个word的字符串
?word 在光标之前查找一个word的字符串
:n1,n2s/word1/word2/g 在第n1行和n2行之间查找word1,并将word1替换为word2
:1,$s/word1/word2/g 从第一行到最后一行查找word1并替换为word2
:1,$s/word1/word2/gc 从第一行到最后一行查找word1并替换为word2,在替换前显示提示符,让用户确认
3. 删除 复制 粘贴
x,X x向后删除一个字符 X向前删除一个字符
nx 向后删除n个字符
dd 删除光标所在的整列
ndd 删除光标所在列的向下n列
nyy 复制光标所在行的向下n行
p ,P p复制的数据粘贴在光标下一行,P上一行
u 恢复上一个动作
编辑模式
i ,I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
a,A 添加 :由当前光标所在处的下一个字符开始输入,已存在的字符向后退
o ,O 插入新的一行,从光标所在处的下一行行首开始输入
r,R 替换:r会替换光标所指的那一个字符,R会一直替换光标所指的文字,知道案下esc
esc 返回一般模式
命令行模式
:w 保存
:w! 若文件为只读,强制写入
:q 推出vi
:wq 保存推出
:w [filename] 保存为另一文件