目录
一、文本编辑器vi vim命令
1.1、文本编辑器的作用
- 创建或修改文本文件
- 维护linux系统中的各种配置文件
1.2、linux中最常用的文本编辑器
- vi:类unix操作系统的默认文本编辑器
- vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本
vim如果不存在需要安装
yum install vim -y
vim 具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计。
1.2.1、打开编辑方式
vim/vi 文件
若该文件不存在,则 vi 根据该文件名称打开一个新的空文件
在学习 vi 编辑器的基本操作时,建议复制一个内容较多的系统配置文件进行练习, 而不要直接去修改系统文件,以免发生失误造成系统故障。例如,以下操作把系统配置文件
/etc/yum.conf 复制为当前目录下的 vitest.file 文件,然后用 vi 编辑器打开 vitest.file 文件进行编辑。
1.3、vi编辑器的三种不同的工作模式
- 命令模式
- 输入模式
- 末行模式
切换示意图

1.3.1、模式切换
在命令模式中,按 a、i、o 等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按 Esc 键即可。
1.3.2、常见的几个命令行转输入行
- a:在当前光标位置之后插入内容。
- A:在光标所在行的末尾(行尾)插入内容。
- i:在当前光标位置之前插入内容。
- I:在光标所在行的开头(行首)插入内容。
- o:在光标所在行的后面插入一个新行。
- O:在光标所在行的前面插入一个新行。
1.4、光标移动
| 光标移动 | 操作类型 | 操作键 | 功能 |
|---|---|---|---|
| 方向移动 | ↑、←、→ | 上、下、左、右 | 使用箭头键进行方向移动 |
| 翻页 | PageDown或Ctrl+F | 向下翻动一整页内容 | 使用Page Down或Ctrl+F向下翻动一整页内容 |
| 翻页 | PageUp或Ctrl+B | 向上翻动一整页内容 | 使用Page Up或Ctrl+B向上翻动一整页内容 |
| 行内快速跳转 | Home键或“^”、数字“0” | 跳转至行首 | 使用Home键、“^”或数字“0”跳转到行首 |
| 行内快速跳转 | End键或“$”键 | 跳转到行尾 | 使用End键或“$”键跳转到行尾 |
| 行间快速跳转 | 1G或gg | 跳转到文件的首行 | 使用1G或gg跳转到文件的首行 |
| 行间快速跳转 | #G | 跳转到文件中的第#行 | 使用#G跳转到文件中的指定行 |
| 行号显示 | :set nu | 在编辑器中显示行号 | 使用:setnu命令在编辑器中显示行号 |
| 行号显示 | :set nonu | 取消编辑器中的行号显示 | 使用:set nonu命令取消编辑器中的行号显示 |
| 跳到下一个单词 | w | 跳到下一个单词 | 跳到下一个单词 |
| 跳到上一个单词 | b | 跳到上一个单词 | 跳到上一个单词 |
| 当前屏幕第一行 | H | 当前屏幕第一行 | 当前屏幕第一行 |
| 当前屏幕中间 | M | 当前屏幕中间 | 当前屏幕中间的第一个 |
| 当前屏幕的最后一行 | L | 当前屏幕的最后一行 | 当前屏幕的最后一行 |
1.5、命令模式的基本命令
#为行数
| 操作类型 | 操作键 | 功能 |
|---|---|---|
| 复制 | yy | 复制当前行整行的内容到剪贴板 |
| 复制 | #yy | 复制从光标所在行开始的#行内容 |
| 粘贴 | p | 将缓冲区中的内容粘贴到光标位置处之后 |
| 粘贴 | P | 粘贴到光标位置处之前 |
| 删除 | x或Del | 删除光标处的单个字符 |
| 删除 | dd | 删除当前光标所在行 |
| 删除 | #dd | 删除从光标所在行开始的#行内容,剪切 |
| 删除 | d^ | 删除当前光标之前到行首的所有字符 |
| 删除 | d$ | 删除当前光标处到行尾的所有字符 |
| 修改 | r | 修改当前字符 |
内容查找
在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找(按? 键则向前查找)。完成查找后可以按 n、N 键在不同的查找结果中进行选择。例如,输入“/yum”,按 Enter 键后将查找出文件中的“yum”字符串并高亮显示,光标自动移动至第一个查找结果处,按 n 键可以移动到下一个查找结果
| 查找内容 | /word | 从上向下查找“word” |
| 查找内容 | ?word | 从下向上查找“word” |
| 查找指定位置 | n | 查找时,指定下一个匹配项的位置 |
| 查找指定位置 | N | 查找时,指定上一个匹配项的位置 |
撤销操作
| 撤销操作 | u | 取消最后一次操作 |
| 重复撤销 | U | 重复执行上一次的u操作 |
| 撤销并保存退出 | ZZ | 取消当前所执行的所有编辑,保存文件并退出vi编辑器 |
| 反撤回 | ctrl+R | 返回上一次误撤回的内容 |
1.6、末行模式
| 操作步骤 | 功能 | 命令 | 备注 |
|---|---|---|---|
| 保存文件及退出vi编辑器 | 保存修改的内容 | :w | 默认保存当前文件 |
| 保存文件及退出vi编辑器 | 另存为其它文件 | :w /root/newfile | 将当前文件内容保存到/root/newfile |
| 保存文件及退出vi编辑器 | 未修改退出 | :q | 如果文件没有修改,则退出vi |
| 保存文件及退出vi编辑器 | 强制退出 | :q! | 放弃对文件内容的修改,并强制退出vi |
| 保存文件及退出vi编辑器 | 保存文件并退出 | :wq 或 x | 保存修改的内容并退出vi |
| 打开新文件或读入其他文件内容 | 打开新的文件进行编辑 | :e ~/install.log | 打开用户家目录下的install.log文件进行编辑 |
| 打开新文件或读入其他文件内容 | 在当前文件中读入其他文件内容 | :r /etc/filesystems | 在当前编辑的文件中插入/etc/filesystems文件的内容 |
文件内容替换
| 命令 | 功能 |
|---|---|
:s /old/new | 将当前行中查找到的第一个字符“old”串替换为“new” |
:s /old/new/g | 将当前行中查找到的所有字符串“old”替换为“new” |
:#,# s/old/new/g | 在行号“#,#”范围内替换所有的字符串“old”为“new” |
:% s/old/new/g | 在整个文件范围内替换所有的字符串“old”为“new” |
:s /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
1.7、解决变黄问题
/查找后

查找后会变黄
第一步:在 Esc 状态下
第二步:输入 :nohl
就🆗了
2242



被折叠的 条评论
为什么被折叠?



