第一部分:一般模式
移动光标的方法
h左 光标向左移动一个字符
j下 光标向下移动一个字符
k上 光标向上移动一个字符
l右 光标向右移动一个字符
数字加上下左右可移移动多个
[ctrl]+[f] 屏幕向下移动一页
[ctrl]+[b] 屏幕向上移动一页
[ctrl]+[d] 屏幕向下移动半页
[ctrl]+[u] 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n<space> n表示数字,数字加空格表示光标向后移动n个字符
0或[HOME] 这里是数字0,移动到这一行的最前面字符处
$或[END] 移动到这一行的最后面字符处
H 光标移动到这个屏幕最上方那一行的第一个字符
M 光标移动到这个屏幕中央那一行的第一个字符
L 光标移动到这个屏幕最下方那一行的第一个字符
G 移动到这个文件的最后一行
nG n表示数字,移动到第n行
gg 移动到这个文件的第一行,相当于1G
N[Enter] n表示数字,光标向下移动n行
查找与替换
/word 向下寻找一个名为word的字符串
?word 向上寻找一个名为word的字符串
n 重复前一个查找操作
N 反向进行前一个查找操作
:n1,n2s/word1/word2/g n1和n2为数字,在第n1行与n2行之间寻找word1这个字符串,并替换成word2
:1,$s/word1/word2/g 从第一行到最后一行间把word1替换成word2
:1,$s/word1/word2/gc 从第一行到最后一行间把word1替换成word2,且在替换前显示提示字符给用户确认(confirm),将会出现提示replace with hehe (y/n/a/q/l/^E/^Y)? y替换,n不替换,a替换所有,q放弃,l替换第一个并进入插入模式,^E和^Y是提示你用Ctrl+e或Ctrl+y来滚动屏幕的。
删除,复制与粘贴
x,X 在一行字当中x向后删除一个字符相当于[Del],X向前删除一个字符相当于[Backspace]
nx n为数字,连续向后删除几个字符,X为向前删除几个字符
dd 删除光标所在的那一行
ndd n为数字,删除光标所在的向下n行
d1G 删除不标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除光标所在处到该行的最后一个字符
d0 数字0,删除光标所在处到该行的最前面一个字符
yy 复制光标所在行
nyy n为数字,复制光标所在的向下n行
y1G 复制不标所在到第一行的所有数据
yG 复制光标所在到最后一行的所有数据
y0 复制0,删除光标所在处到该行的最前面一个字符
y$ 复制光标所在处到该行的最后一个字符
p,P p为将已复制的数据在光标下一行粘贴,P为在光标上一行粘贴
移动光标的方法
J 将光标所在行与下一行合并成同一行
c 重复删除多个数据并切换成插入状态,例如向下删除10行,[10cj]
u 撤销,复原前一个操作
[ctrl]+r 下一步,重做上一个操作
. 小数点,重复前一个操作
第二部分:一般模式切换到编辑模式的可用的按钮说明
i,I 进入插入模式,i为从目前光标处插入,I为在目前所在行的第一个非空格符处开始插入
a,A 进入插入模式,a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
o,O 进入插入模式,o为从目前光标所在的下一行处插入新的一行,O为在目前光标所在处的上一行插入新的一行
r,R 进入替换模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下[Esc]为止
[Esc] 退出编辑模式回到一般模式
第三部分:一般模式切换到命令模式的可用的按钮说明
:w 将编辑的数据写入硬盘文件中
:w! 若文件属性为只读时,强制写入该文件,不过到底能不能写入还是跟你对该文件的文件权限有关
:q 离开
:q! 若曾修改过文件,又不想存储,使用"!"为强制离开不保存文件
:wq 保存后离开,若为:wq则为强制保存后离开
ZZ 若文件没有更改,则不保存离开,若文件已经被更改过,则保存后离开
:w[filename] 将编辑的数据保存成另一个文件
:r[filename] 在编辑的数据中,读入另一个文件的数据,即将"filename"这个文件的内容加载到光标所在行的后面
:n1,n2 w[filename] 将n1到n2的内容保存成filename这个文件
:! command 暂时离开vi到命令行模式下执行command的显示结果
:set nu 显示行号
:set nonu 与set nu相反,为取消行号
移动光标的方法
h左 光标向左移动一个字符
j下 光标向下移动一个字符
k上 光标向上移动一个字符
l右 光标向右移动一个字符
数字加上下左右可移移动多个
[ctrl]+[f] 屏幕向下移动一页
[ctrl]+[b] 屏幕向上移动一页
[ctrl]+[d] 屏幕向下移动半页
[ctrl]+[u] 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n<space> n表示数字,数字加空格表示光标向后移动n个字符
0或[HOME] 这里是数字0,移动到这一行的最前面字符处
$或[END] 移动到这一行的最后面字符处
H 光标移动到这个屏幕最上方那一行的第一个字符
M 光标移动到这个屏幕中央那一行的第一个字符
L 光标移动到这个屏幕最下方那一行的第一个字符
G 移动到这个文件的最后一行
nG n表示数字,移动到第n行
gg 移动到这个文件的第一行,相当于1G
N[Enter] n表示数字,光标向下移动n行
查找与替换
/word 向下寻找一个名为word的字符串
?word 向上寻找一个名为word的字符串
n 重复前一个查找操作
N 反向进行前一个查找操作
:n1,n2s/word1/word2/g n1和n2为数字,在第n1行与n2行之间寻找word1这个字符串,并替换成word2
:1,$s/word1/word2/g 从第一行到最后一行间把word1替换成word2
:1,$s/word1/word2/gc 从第一行到最后一行间把word1替换成word2,且在替换前显示提示字符给用户确认(confirm),将会出现提示replace with hehe (y/n/a/q/l/^E/^Y)? y替换,n不替换,a替换所有,q放弃,l替换第一个并进入插入模式,^E和^Y是提示你用Ctrl+e或Ctrl+y来滚动屏幕的。
删除,复制与粘贴
x,X 在一行字当中x向后删除一个字符相当于[Del],X向前删除一个字符相当于[Backspace]
nx n为数字,连续向后删除几个字符,X为向前删除几个字符
dd 删除光标所在的那一行
ndd n为数字,删除光标所在的向下n行
d1G 删除不标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除光标所在处到该行的最后一个字符
d0 数字0,删除光标所在处到该行的最前面一个字符
yy 复制光标所在行
nyy n为数字,复制光标所在的向下n行
y1G 复制不标所在到第一行的所有数据
yG 复制光标所在到最后一行的所有数据
y0 复制0,删除光标所在处到该行的最前面一个字符
y$ 复制光标所在处到该行的最后一个字符
p,P p为将已复制的数据在光标下一行粘贴,P为在光标上一行粘贴
移动光标的方法
J 将光标所在行与下一行合并成同一行
c 重复删除多个数据并切换成插入状态,例如向下删除10行,[10cj]
u 撤销,复原前一个操作
[ctrl]+r 下一步,重做上一个操作
. 小数点,重复前一个操作
第二部分:一般模式切换到编辑模式的可用的按钮说明
i,I 进入插入模式,i为从目前光标处插入,I为在目前所在行的第一个非空格符处开始插入
a,A 进入插入模式,a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
o,O 进入插入模式,o为从目前光标所在的下一行处插入新的一行,O为在目前光标所在处的上一行插入新的一行
r,R 进入替换模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下[Esc]为止
[Esc] 退出编辑模式回到一般模式
第三部分:一般模式切换到命令模式的可用的按钮说明
:w 将编辑的数据写入硬盘文件中
:w! 若文件属性为只读时,强制写入该文件,不过到底能不能写入还是跟你对该文件的文件权限有关
:q 离开
:q! 若曾修改过文件,又不想存储,使用"!"为强制离开不保存文件
:wq 保存后离开,若为:wq则为强制保存后离开
ZZ 若文件没有更改,则不保存离开,若文件已经被更改过,则保存后离开
:w[filename] 将编辑的数据保存成另一个文件
:r[filename] 在编辑的数据中,读入另一个文件的数据,即将"filename"这个文件的内容加载到光标所在行的后面
:n1,n2 w[filename] 将n1到n2的内容保存成filename这个文件
:! command 暂时离开vi到命令行模式下执行command的显示结果
:set nu 显示行号
:set nonu 与set nu相反,为取消行号