vi与vim编辑器
VI是Unix系统和类Unix系统最常用的文本编辑器
VIM是从VI发展而来的文本编辑器,可给字体颜色,来显示语法是否正确
VI和VM在linux系统下是完全兼容的
# 使用
拷贝文件数据作为练习
[root@stt01 home]# cp /etc/smartd.conf /root
[root@stt01 home]# cd /root
[root@stt01 ~]# vi smartd.conf
1
2
3
2
3
# 一般模式
以vi打开文档直接进入了一般模式(默认),在一般模式下,不要输入,使用 上下左右
移动光标
常用语法
语法 | 功能 |
---|---|
yy | 复制光标当前行,复制之后要粘贴的话再按p |
y4y | 复制光标当前行往下4行,通用写法--y数字y |
p | 在当前光标处粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d4d | 删除含关光标后4行,通用写法--d数字d |
x | 向后删除一个字符,相当于del |
X | 向前删除一个字符,相当于backspace |
yw | 复制一个词,光标在单词首字母处复制,规律是光标处字母到下一个空格之间的字符 |
dw | 删除光标后的一个词 |
shift+^ | 移动到行头 |
shift+$ | 移动到行尾 |
gg | 移动到页头 |
G | 移动到页尾 |
4G | 移动到第四行,通用写法:数字+G |

# 编辑模式
在一般模式可以进行删除,复制,粘贴动作,如果要编辑文本,需要进入编辑模式
- 按下 i ,I,o,O,a,A,r,R 进入编辑模式
- 进入编辑模式后,左下方会显示INSERT 或者 REPLACE
- 按下 Esc 回到一般模式
按键 | 功能 |
---|---|
i | 当前光标前,进入编辑模式 |
I | 光标所在的行最前 |
o | 当前光标的下一行 |
O | 当前光标的上一行 |
a | 当前光标后 |
A | 光标所在的行最后 |
s | 删除当前字符并进入编辑模式 |
S | 删除整行并进入编辑模式 |
# 命令模式
在一般模式下,输入 :/?
三个字符中的一个,就可以在最下面输入命令
命令 | 功能 |
---|---|
:w | 保存,:wq! 强制保存退出,:x等同于:wq! |
:q | 退出,:q! 强制退出 |
:! | 强制执行 |
/abc | 查找abc,按n查找下一个,N查找上一个,通用写法:/要查找的字符 |
?abc | 同上 |
:set nu | 显示标号 |
:set nonu | 关闭标号 |
ZZ | 没有修改文件之间退出,如果修改了,则保存后退出 |
:%s/abc/def | 将abc批量替换为def,通用写法:%s/old字符/new字符 |
:set paste | 粘贴文本带有原本格式 |
# 模式间转换

# 快捷键使用案例
拷贝当前行
- yy
拷贝当前行向下5行,并粘贴
- 5yy,p
在文件中查找某个单词
- 命令行下
/关键字
- 回车,查找,输入n查找下一个
设置文件的行号
- 命令行下
:set nu
取消文件的行号
- 命令行下
:set nonu
编辑 /etc/profile 文件,在正常模式下
- 使用快捷键到文档的最末行
- G
- 使用快捷键到最首行
- gg
在一个文件中输入 "hello" ,需要撤销
- 在正常模式下输入 u
编辑 /etc/profile文件,将光标移动到第20行
- 显示行号
:set nu
- 输入 20
- 输入 shift + g
Last Updated: 2022/05/22, 12:42:00