1. vi的使用
vi分三个模式:
- 一般模式
这个模式允许进行删除、复制、粘贴、搜索替换的动作,但是无法编辑内容。
- 编辑模式
按 i、I、o、O、a、A、r、R 中任意一个字母进入此模式,按 Esc 键退出此模式。
- 指令列命令模式
在一般模式中,输入 :、/、? 中的任意一个字母时,就进入此模式,在此模式中可以进行保存、离开vi、显示行号等动作。
需要注意的是:一般模式可与编辑模式及指令列模式切换,但是编辑模式与指令列模式之间不可进行互相切换。
2. 按键说明
2.1 一般模式可用的按键说明
可用动作:光标移动、复制粘贴、搜索替换等。
Ctrl + f | 向下移动一页,相当于 Page Down |
Ctrl + b | 向上移动一页,相当于 Page Up |
0或 <Home> | 移动到这一行的最前面字符处 |
$ 或 <End> | 移动到这一行的最后面字符处 |
G | 移动到文档的最后一行 |
nG | n为数字,移动到这个档案的第n行,例如20G |
gg | 移动到文档的第一行,相当于1G |
n<Enter> | n为数字,光标向下移动n行 |
/word | 向光标之下寻找一个名称为word的字符串 |
?word | 向光标之上寻找一个字符串名称为word的字符串 |
n | 重复前一个搜寻的动作。 |
N | 与n刚好相反,为反向进行前一个搜寻动作 |
:n1,n2s/word1/word2/g | n1与n2为数字,在第n1与第n2行之间寻找word1这个字符串,并将该字符串取代为word2 |
:1,$s/word1/word2/g | 全文搜索匹配替换 |
:1,$s/word1/word2/gc | 全文搜索匹配替换,但是在替换前显示提示字符给用户确认 |
x, X | 在一行字当中,x为向后删除一个字符(相当于del键),X为向前删除一个字符(相当于backspace键) |
nx | n为数字,连续向后删除n个字符 |
dd | 删除游标所在的那一整列 |
ndd | 删除光标所在的向下n列 |
d1G | 删除光标所在到第一行所有的数据 |
dG | 删除光标所在到最后行所有的数据 |
d$ | 删除游标所在处到该行的最后一个字符 |
d0 | 删除游标所在处到该行的最前面的一个字符 |
yy | 复制游标所在的那一行 |
nyy | 复制光标所在的向下n列 |
y1G | 复制游标所在列到第一列的所有数据 |
yG | 复制游标所在列到最后一列的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p为将已复制的数据在光标的下一行贴上,P则为贴在游标上一行 |
c | 重复删除多个数据,丽日向下删除10行,10cj |
u | 重复前一个动作 |
Ctrl + r | 重做上一个动作 |
. | 重复前一个动作 |
2.2 一般模式切换到编辑模式可用按钮说明
2.3 一般模式切换到命令列模式可用按钮说明
:! command | 暂时离开vi到指令列迷失下执行command的显示结果 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
时间: 2024-10-30 02:03:51