文章目录
- 一.vi文本编辑器
- 二.工作模式
-
- 1.输入模式
- 2.命令模式
- 3.末行模式
- 4.切换模式
一.vi文本编辑器
文本编辑器的作用:创建或修改文本文件、维护Linux系统中的各种配置文件
linux中最常用的两种文本编辑器:
vi:类UNIX操作系统的默认文本编辑器
vim:vim是vi文本编辑器的增强版本
二.工作模式
三种工作模式:
命令模式:删除,跳转
输入模式:修改文本内容
末行模式:替换查找
1.输入模式
输入模式基本操作:
i | 当前光标处插入 |
---|---|
a | 后一个字符插入 |
I | 开头处插入 |
A | 行末处插入 |
o | 下一行插入 |
O | 上一行插入 |
2.命令模式
1.光标移动
操作类型 | 操作键 | 功能 |
---|---|---|
方向移动 | 方向键 | 上、下、左、右 |
翻页 | Page Down或Ctrl+F | 向下翻动一整页内容 |
Page Up或Ctrl+B | 向上翻动一整页内容 | |
行内快速跳转 | Home或^ 、数字0 | 跳转至行首 |
End或$键 | 跳转至行尾 | |
行间快速跳转 | 1G或者gg | 跳转到文件首行 |
G | 跳转到文件末行 | |
#G | 跳转到文件中的第#行 | |
行号显示 | :set nu | 在编辑器中显示行号 |
:set nonu | 取消编辑器中的行号显示 |
2.复制、粘贴、删除
操作类型 | 操作键 | 功能 |
---|---|---|
删除 | x或Del | 删除光标处的单个字符 |
dd | 删除当前光标所在行 | |
#dd | 删除从光标所在行开始的#行内容 | |
d^ | 删除当前光标之前到行首的所有字符 | |
d$ | 删除当前光标处到行尾的所有字符 | |
复制 | yy | 复制当前行整行的内容到剪贴板 |
#yy | 复制从光标所在行开始的#行内容 | |
粘贴 | p | 将缓冲区中的内容粘贴到光标位置处之后 |
P | 粘贴到光标位置处之前 |
3.文件内容查找、撤销编辑及保存退出
操作键 | 功能 |
---|---|
/word | 从上而下在文件中查找字符串“word" |
?word | 从下而上在文件中查找字符串“word" |
n | 定位下一个匹配的被查找字符串 |
N | 定位上一个匹配的被查找字符串 |
u | 按─次取消最近的一次操作;重复u键,恢复多步操作 |
U | 用于取消对当前行所做的所有编辑 |
ZZ | 保存当前的文件内容并退出vi编辑器 |
3.末行模式
1.保存文件及退出vi编辑器
功能 | 命令 | 备注 |
---|---|---|
保存文件 | :w | 保存修改的内容 |
:w /root/newfile | 另存为其它文件 | |
退出vi | :q | 未修改退出 |
:q! | 放弃对文件内容的修改,并退出vi | |
保存文件退出vi | :wq或x | 保存修改的内容并退出 |
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命令,将对每个替换动作提示用户进行确认 |
4.切换模式
不同模式之间切换:
[[email protected] ~]# vi文件名
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNyZuBnLkVmZhRWNhZTZlNGNyMDZhFDOyQTMygDZ4YjZ5M2MlRzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)