vi的特点
1、vi是linux 中的经典的文本编辑器
2、没有图形界面的功能强大的编辑器
3、只是文本编辑文本内容,不能对字体 、段落进行排版
4、不知此鼠标操作
5、没有菜单
6、只有命令
使用vi打开和新建文件
vi+文件名
如果文件已经存在,会直接打开文件
如果文件不存在,会新建一个文件
vi 文件名 +行数
直接定位到vi文本中的指定行数
vi的三种命令模式
1、命令模式
2、末行模式
3、编辑模式
命令模式转换到末行模式:先按下Esc,在输入:wq 保存退出
命令模式转换到编辑模式:按 i 键
末行模式和编辑模式不能相互转换
vi中移动光标
h:向左
j:向下
k:向上
l:向右
或者使用键盘上的上下左右键
行内移动
w:向后移动一个单词
b:向前移动一个单词
0:移到行首
^:移到行首,第一个不是空白字符的位置
$:移到行尾
行数移动
gg:移到文件顶部
G:移到文件末尾
数字gg:移到对应数字行数
数字G:移动到对应数字行数
数字:移动到数字对应行数
段落移动
vi中使用空行区分段落
{: 移动到上一段
}:移动到下一段
使用标记移到标记位置
浏览时按下m,再加上一个字母进行标记
想要回到标记位置时,按下单引号和对应字母
选中文本
v: 从光标位置开始选文本
V:选中光标经过的完整行
Ctrl+v:垂直方向选中文本
撤销和删除
撤销
u: 撤销上次命令
Ctrl + r: 回复撤销的命令
删除文本
x: 清除光标所在字符或选中文字
d: 清楚移动光标对应的内容
dd: 清除光标所在行,可以ndd复制多行
D: 清除至行尾
复制和粘贴
yy: 复制一行,也可以使用nyy复制多行
p:粘贴刚刚复制的内容
查找
/str
替换
r: 替换当前字符
R:替换当前光标所在位置向后替换
全局替换: :%s/旧文本/新文本/g
可视区替换:先选中内容,:s/旧文本/新文本/g
进入编辑模式
o:在当前行后面插入一个空行
O:在当前行前面插入一个空行
i:在当前字符前插入文本
I:在行首插入文本
a:在当前字符后插入文本
A:在末行添加文本