一、vi是什么
vi与vim
二、vi的三种基本模式
1、命令行模式
2、插入模式
3、底行模式
三、vi中3中模式的切换
1、命令行模式、底行模式转为插入模式
特征 | 指令 | 作用 |
新增 | a | 从光标所在位置后面开始新增资料,光标后的资料随着新增资料向后移动 |
A | 从光标所在列最后面的地方开始新增资料 | |
插入 | i | 从光标所在位置前面开始插入资料,光标后的资料随着新增资料向后移动 |
I | 从光标所在列的第一个非空白字符前面开始插入资料 | |
开始 | o | 在光标所在列下新增一列,并进入插入模式 |
O | 在光标所在列上方新增一列,并进入插入模式 |
2、vi的删除、修改与复制
特征 | 指令 | 作用 |
剪切 | ndd | 剪切自光标所在的行开始的n行,若文章结尾不够则剪切到最后一行 |
s | 删除光标所在的字符,并进入输入模式 | |
S | 删除光标所在的行,并进入输入模式 | |
复制 | nyy | 复制光标自所在的行开始,向下的n行 |
粘贴 | p | 将缓冲区内的字符粘贴到光标所在位置 |
取消 | u | 取消上一次的文本编辑操作 |
3、vi的光标移动
指令 | 作用 |
$ | 移动到光标所在行的最后面 |
Ctrl+d | 光标向下移动半页 |
Ctrl+f | 光标向下移动一页 |
H | 光标移动到当前屏幕的第一行第一列(左上角) |
gg | 光标移动到当前屏幕的第一行第一列(左上角) |
M | 光标移动到当前屏幕的中间行第一列 |
L | 光标移动到当前屏幕的最后行第一列 |
:n | 光标移动到第n行 |
nG | 光标移动到第n行 |
4、vi的查找与替换
查找
特征 | 指令 | 作用 |
查找 | /<要查找的字符> | 向下查找要查找的字符 |
?<要查找的字符> | 向上查找要查找的字符 |
替换
特征 | 指令 | 作用 |
替换 | :range s/string1/string2/gc | range:要替换的范围 s:转入替换模式 string1:这是要查找的一个正则表达式 string2:这是希望把匹配串变成的模式的正则表达式 g:可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串 c:可选标志,表示替换前询问 |
例如:% s/str1/str2/gc