vi是visual interface的简称, 是Linux中最经典的文本编辑器(Windows中的记事本)
vi的核心设计思想:让程序员的手指始终保持在键盘的核心区域, 就能完成所有编辑操作
vi的特点:
- 只能是编辑文本内容, 不能对字体段落进行排版
- 不支持鼠标操作
- 没有菜单
- 只有命令
vim 是从vi发展出来的文本编辑器, 支持代码补全、编译及显示效果等方面编程的功能提别丰富, 在程序员中被广泛使用, 被称为编辑器之神。
在CentOS Stream 9系统中,我们可以通过dnf命令安装vim编辑器:
dnf -y install vim
1.3.1 打开文件
vi a.txt # 直接打开文件
vim a.txt # vim是vi的增强版
vim +10 a.txt # 直接打开文件,并定位到第10行
vi/vim三种工作模式: 命令模式、插入模式(编辑模式)、末行模式(底行模式)
命令模式:复制、粘贴、移动光标、撤销与恢复
插入模式(编辑模式):只能编辑文件内容(写字)
底行模式(末行模式):保存文件、退出文件、显示行号、搜索关键词

1.3.2 命令模式
当我们通过vi/vim命令打开文件时,默认就处于命令模式
小技巧:进入vim编辑器,先查看左下角有没有提示信息,如果没有任何信息,代表你当前位于命令模式!
| 命令 | 功能 |
| o | 在当前行后面插入一空行 |
| O | 在当前行前面插入一空行 |
| dd | 剪切或删除光标所在行 |
| ndd | 从光标位置向下连续剪切或删除 n 行 |
| yy | 复制光标所在行 |
| nyy | 从光标位置向下连续复制n行 |
| p | 粘贴 |
| u | 撤销上一次命令,相当于Windows中的Ctrl + Z |
| gg | 回到文件顶部 |
| G | 回到文件末尾 |
| Ctrl + R | 恢复,与u相对应 |
1.3.3 编辑模式
如何进入编辑模式呢?
答:
i:在当前光标的前面插入内容
a:在当前光标的后面插入内容
o:在光标的后一行插入内容
O:在光标的前一行插入内容
问题:如何从编辑模式回到命令模式
答:按Esc键
1.3.4 底行模式
核心重点记住3个字母即可,:w、:q、! 😡
在Linux操作系统中,文件必须先保存后退出!
!叹号代表强制,强制保存、强制退出、强制保存并退出!
| 命令 | 功能 |
| :w 文件 | 另存为 |
| :w | 保存(ctrl + s) |
| :q | 退出, 如果没有保存,不允许退出 |
| :q! | 强行退出, 不保存退出 |
| :wq | 保存并退出 |
| 😡 | 保存并退出 【建议运维选择】 |
| :set nu | 设置行号,取消行号使用:set nonu |
| :%s/旧关键词/新关键词/g | 文本替换 |
| :noh | 取消高亮 |
| /关键词 | 搜索某一关键词 |