一、vi/vim模式
命令模式、输入模式、底线命令模式
二、打开文件
-
vi +n filename 打开文件定位到n行
-
vi + filename 打开文件定位到最后一行
-
vi +/f filename 打开文件定位到f出现的位置
三、命令模式到输入模式
-
i/I:i 从目前光标处开始输入;I从目前所在行的第一个非空格符处开始输入;
-
a/A:a从目前光标所在的下一个字符处开始输入;A从目前所在行的最后一个字符处开始输入;
-
o/O:o在目前所在行的下一行处输入新的一行;O在目前所在行的上一行处输入新的一行;
四、命令模式
-
x 删除光标位置字符
-
nx 删除光标开始n个字符
-
dw 删除单词
-
ndw 删除n个单词
-
dd 删除光标所在的那一整行
-
ndd 删除光标所在的向下n行
-
d0 删除光标所在到该行的最前面的一个字符
-
d$ 删除光标到行尾的内容
-
yy 复制光标所在的那一行
-
nyy 复制光标所在的向下n行
-
p 将已复制的数据在光标下一行贴上
-
P 将已复制的数据在光标上一行贴上
-
u 撤销
-
[Ctrl] + r 恢复撤销
-
0 (数字0)移动到当前行的最前面字符处
-
$ 移动到当前行的最后面字符处
-
G 移动到文本最后一行
-
nG 移动到文本第n行
-
gg 移动到文本第一行,相当于1G
-
n +
光标向下移动n行 -
ZZ 保存并退出
五、底线命令模式
-
:w 讲编辑的数据写入硬盘档案中
-
:q 离开
-
:wq 存储后离开
-
:set nu 显示行号
-
:set nonu 取消行号
-
:/ after 定位到搜索字符 n向下查找,N向上查找
-
:s/foo/bar/ 要搜索当前行中字符串“foo”的首次出现,并将其替换为“bar”
-
:s/foo/bar/g 要替换当前行中搜索到的所有内容,可以添加g标志
-
:%s/foo/bar/g 搜索和替换整个文件中的匹配内容,使用百分比字符%作为范围。此字符指示从文件第一行到最后一行的范围
-
:s/foo//g 删除当前行中字符串“foo”的所有实例
-
:s/foo/bar/gc 要确认每个替换,可以使用c标志
-
:3,10s/foo/bar/g 在从第3行到第10行的所有行中将所有出现的“ foo”替换为“ bar”
-
:n1,n2 co n3 复制n1到n2并粘贴到n3处
-
:n1,n2 m n3 移动n1到n2到n3处
-
:n1,n2d 删除n1到n2行
-
:.,$-1d 删除光标所在行到倒数第二行(.表示光标所行,$表示末行)