-
文本编辑器的作用:
- 1、维护Linux系统中的各种配置文件
- 2、编写shell脚本
-
三种工作模式:
- 命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作
- 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-- INSERT --”的状态提示信息
- 末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符
-
不同模式之间的切换:
命令行模式:
- 命令行模式中的基本操作-1
- 光标移动:
操作类型 | 操作键 | 功能 |
光标方向移动 | ↑、↓、←、→ | 上、下、左、右 |
翻页 | Page Down或Ctrl+F | 向下翻动一整页内容 |
Page Up 或 Ctrl+B | 向上翻动一整页内容 | |
行内快速跳转 | Home键或“^”、数字“0” | 跳转至行首 |
End键或“$”键 | 跳转到行尾 | |
行间快速跳转 | 1G或者gg | 跳转到文件的首行 |
G | 跳转到文件的末尾行 | |
#G | 跳转到文件中的第#行 | |
行号显示 | :set nu | 在编辑器中显示行号 |
:set nonu | 取消编辑器中的行号显示 |
- 命令行模式中的基本操作-2
- 复制、粘贴、删除
操作类型 | 操作键 | 功能 |
复制 | yy | 复制当前行整行的内容到剪贴板 |
#yy | 复制从当前光标处开始的#行内容 | |
粘贴 | p | 将缓冲区中的内容粘贴到光标位置处之后 |
P | 粘贴到光标位置处之前 | |
删除 | x或Del | 删除光标处的单个字符 |
dd | 删除当前光标所在行 | |
#dd | 删除从光标处开始的#行内容 | |
d^ | 删除当前光标之前到行首的所有字符 | |
d$ | 删除当前光标处到行尾的所有字符 |
- 命令行模式中的基本操作-3
- 文件内容查找:
操作键 | 功能 |
/word | 从上而下在文件中查找字符串“word” |
?word | 从下而上在文件中查找字符串“word” |
n | 定位下一个匹配的被查找字符串 |
N | 定位上一个匹配的被查找字符串 |
- 命令行模式中的基本操作-4
- 撤销编辑及保存退出:
操作键 | 功能 |
u | 按一次取消最近的一次操作多次重复按u键,回复已进行的多步操作 |
U | 用于取消对当前行所做的所有编辑 |
ZZ | 保存当前的文件内容并退出vi编辑器 |
末行模式:
- 末行模式中的基本操作-1
- 保存文件及退出vi编辑器:
功能 | 命令 | 备注 |
保存文件 | :w | 保存文件 |
:w /root/newfile | 另存为其他文件 | |
退出vi | :q | 未修改退出 |
:q! | 放弃对文件内容的修改,并退出vi | |
保存文件退出vi | :wq | 保存并退出末行模式 |
- 末行模式中的基本操作-2
- 打开新文件或读入其他文件内容:
命令 | 功能 |
:e ~/install.log | 打开新的文件进行编辑 |
:r /etc/filesystems | 在当前文件中读入其他文件内容 |
- 末行模式中的基本操作-3
- 文件内容替换:
命令 | 功能 |
: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命令,将对每个替换动作提示用户进行确认 |