一、一般模式
移动光标的方法
Ctrl+f | 屏幕『向下』移动一页 |
Ctrl+b | 屏幕『向上』移动一页 |
0或功能键[Home] | 移动到这一行的最前面字符处 |
$或功能键[End] | 移动到这一行的最后面字符处 |
G | n 为数字,移动到这个档案的第 n 行 |
nG | n 为数字,移动到这个档案的第 n 行 |
gg | 移动到这个档案的第一行,相当于1G |
n<Enter> | n 为数字,光标向下移动 n 行 |
搜索替换
/word<Enter> | 向光标之下寻找一个名称为 word 的字符串。 |
?word<Enter> | 向光标之上寻找一个名称为 word 的字符串。 |
n | 这个 n 是英文按键,代表重复前一个搜寻的动作。 |
N | 这个 N 是英文按键,代表反向进行前一个搜寻动作。 |
:x,ys/word1/word2/g | x 与 y 为数字。在第 x 与 y 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 |
:1,$s/word1/word2/g 或 :%s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 |
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 。且在取代前显示提示字符给用户确认 |
删除、复制与粘贴
x,X | x 为向后删除一个字符, X 为向前删除一个字符 |
dd | 删除游标所在的那一整行 |
ndd | n 为数字,删除光标所在的向下 n 行(包括光标所在行) |
yy | 复制游标所在的那一行 |
nyy | n 为数字,复制光标所在的向下 n 行(包括光标所在行) |
p,P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行 |
u | 复原前一个动作(类似Ctrl Z) |
[Ctrl]+r | 重做上一个动作 |
. | 小数点,重复前一个动作 |
二、编辑模式
进入输入或替换的编辑模式
i,I | 进入输入模式。i 为从目前光标所在处输入, I 为在目前所在行的第一个非空格符处开始输入 |
a,A | 进入输入模式。a 为从目前光标所在的下一个字符处开始输入, A 为从光标所在行的最后一个字符处开始输入 |
o,O | 进入输入模式。o 为在目前光标所在的下一行处输入新的一行, O 为在目前光标所在处的上一行输入新的一行 |
r,R | 进入替换模式。r 只会取代光标所在的那一个字符一次,R会一直取代光标所在的文字,直到按下 ESC 为止 |
[Esc] | 退出编辑模式,回到一般模式 |
三、指令行模式
指令行的储存、离开等指令
:w | 将编辑的数据写入硬盘档案中 |
:w! | 若文件属性为只读时,强制写入该档案 |
:q | 离开vi |
:q! | 强制离开不储存档案 |
:wq | 储存后离开 |
:wq! | 强制储存后离开 |
环境的变更
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号 |