vi编辑器
1.特点
vi只编辑文本内容,不能对字体、段落等进行排版。
只有命令,没有鼠标操作,没有菜单。
vim从vi发展而来,支持代码补全、编译及错误跳转等。
2.打开和新建文件
vi 文件名
注:文件存在则会打开文件,若文件不存在,则会新建一个文件。
vi 文件名 +行数
直接定位到文件中的指定行数。
注:如果只写加号“+”,不写行数,那么会直接定位到文件末尾
☆ 异常处理
如果编辑完文件,未保存就异常退出,会出现一个交换文件(扩展名为swp的隐藏文件)。此时,无法正常打开原文件,所以需要删除交换文件。
3.vi的三种工作模式
1)命令模式
打开一个文件,进入的则为命令模式,这个模式为vi的入口。通过命令为控制文件。
2)末行模式
按“:”按钮即可进入
w 保存
q 退出(未保存文件时,此命令不生效)
q!强制退出,不保存也可退出
x 保存且退出
wq 保存且退出
末行模式是vi的出口
按“esc”按钮,即可退出末行模式
3)编辑模式
按“i”按钮即可进入
按“esc”按钮即可退出
该模式下可以进行文本编辑
4.常用命令
1)重复次数
命令模式下,输入一个数字,再输入命令,该命令即可执行指定次数。
2)移动命令
a)上下左右
命令模式下进行移动光标
h向左,j向下,k向上,l向右
b)行内移动
w 向后一个单词
b 向前一个单词
0 行首
^ 行首(第一个不是空白字符的位置)
$ 行尾
c)行数移动
gg 文件顶部
G 文件末尾
数字gg 到达 数字 对应的行
数字G 到达 数字 对应的行
:数字 到达数字 对应的行
e)屏幕移动
ctrl+b 向上翻页
ctrl+f 向上翻页
H 屏幕顶部
M 屏幕中部
L 屏幕底部
常用的移动命令
( 上一段
) 下一段
% 可以匹配一对括号
※ 标记
mx 添加给光标处一个x的标记
‘x 直接定位到标记x的位置
选中文本操作
v 可视模式 从光标位置开始按照正常模式选择文本
V 可视行模式 选中光标经过的完整行
ctrl+v 可视块模式 垂直方向选中文本
3)编辑命令
u 撤销
ctrl+r 恢复撤销
x 删除光标所在字符或选中文字
d 删除移动命令对应的内容
dd 删除光标所在行 ndd 删除多行
D 删除至行尾
y 复制
yy 复制一行 nyy复制多行
p 粘贴 粘贴到光标所在的下一行
注意:vi中的复制粘贴和系统的剪贴板不共享
可以在编辑模式下,用鼠标右键粘贴
r 替换当前字符 命令模式下
R 替换当前行光标后的字符 会进入替换模式
进入替换模式后 >> 向右缩进;<< 向左减少缩进;. 重复上次命令
/str 查找str
查找了 n 查找下一个 N 查找上一个
快速匹配
- 向后查找当前光标所在单词
向前查找当前光标所在单词
查找替换命令
1)全局替换
:%s/旧文本/新文本/g
2)可视区域替换
先选中本文
: s/旧文本/新文本/g
3)确认替换
替换之前会询问是否确认
:%s/旧文本/新文本/gc
y 替换
n 不替换
a 替换所有
q 退出替换
l 最后一个,并把光标移动到行首
^E 向下滚屏
^Y 向上滚屏
插入命令
i 在当前字符前插入文本
I 在行首插入文本
a 在当前字符后添加文本
A 在行末插入文本
o 在当前行后面插入一个空行
O 在当前行前面插入一个空行
5. 联合使用
1)重复次数 输入数字,按i进入编辑模式,输入要添加的文本, 按esc返回命令模式,vi会重复执行输入文本,重复次数为输入的数字。
2)添加注释
代码前加#则为注释
a 到达要添加代码的第一行,按^来到第一行
b 按ctrl+v 进入可视块模式
c 使用j 向下选中要添加注释的行
d 按I 进入编辑模式, 并在行首输入
e 输入#
f 按esc按钮返回命令模式
6.末行模式命令
:e. 浏览当前目录下的文件
:n 文件名 信件文件
:w 文件名 另存为, 但仍编辑当前文件,并不会切换(开发过程中,进行阶段备份)
分屏
末行模式下
sp [文件名] 横向增加分屏
vsp [文件名] 纵向增加分屏
分屏模式下的操作
都是基于ctrl+w 这个快捷键
w 切换到下一个窗口
r 互换窗口
c 关闭当前窗口, 无法关闭最后一个窗口
q 退出当前窗口,如果是最后一个窗口,则会关闭vi
o 关闭其他窗口