一.文本编辑器命令
1.文本编辑器的作用
创建或修改文本文件
维护Linux系统中的各种配置文件
2.Linux中最常用的文本编辑器
vi:类UNIX操作系统的默认文本编辑器
vim:vim是vi文本编辑器(一般称为vi编辑器)的增强版本
二.vi编辑器的工作模式
1.概述
vi编辑器是工作在字符终端环境下的全屏幕编辑器,因此编辑界面相对较简单,没有为用户提供鼠标操作和菜单系统,而是通过按键命令实现相应的编辑和操作功能。在vi编辑界面中可以使用三种不同的工作模式,即命令模式、输入模式和末行模式,在不同的模式中能够对文件进行的操作也不相同。
2.三种工作模式
命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符查找、复制、粘贴文件内容等相关操作。
输入模式:该模式中的主要操作就是录入文件内容,可以对文本文件正文内容进行修改或添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-INSERT-”的状态提示
末行模式:该模式可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器最后一行会出现冒号“:”提示符。
3.不同模式之间的切换
| 命令 | 作用 |
| a | 当前光标位置之后插入内容 |
| i | 当前光标位置之前插入内容 |
| o | 光标所在行之下插入一行新内容 |
| O | 光标所在行之上插入一行新内容 |
| l | 所在行的行首插入内容 |
| A | 所在行行尾插入内容 |
4.命令模式的基本操作
| 操作类型 | 操作键 | 功能 |
| 方向移动 | ⬆、⬇、⬅、➡ | 上下左右 |
| 翻页 | Page Down或Ctrl+F | 向下翻动一整页内容 |
| Page Up或Ctrl+B | 向上翻动一整页内容 | |
| 行内快速跳转 | Home键或^键、数字0键 | 跳转到行首 |
| End键或“&”键 | 跳转到行首 | |
| 行间快速跳转 | 1G或gg | 跳转到文件的首行 |
| G | 跳转到文件的最后一行 | |
| #G | 跳转到文件中的第#行(#是具体数字) | |
| 行号显示 | :set nu | 在编辑器中显示行号 |
| :set nonu | 取消编辑器中的行号显示 |

输入模式:
末行模式:保存并退出。

5.命令模式的基本操作之复制粘贴删除
| 操作类型 | 操作键 | 功能 |
| 删除 | x或Delete | 删除光标处的单个字符 |
| dd | 删除当前光标所在行 | |
| #dd | 删除从光标处开始的#行内容 | |
| d^ | 删除当前光标之前到行首的所有字符 | |
| d$ | 删除当前光标处到行尾的所有字符 | |
| 复制 | yy | 复制当前行整行的内容到剪切板 |
| #yy | 复制从光标所在行开始的#行内容 | |
| 粘贴 | P | 将缓冲区中的内容粘贴到光标位置处之后 |
| p | 粘贴到光标位置处之前 |
文件内容查找
| 操作键 | 功能 |
| /word | 从当前光标处向后进行查找字符串“word” |
| ?word | 从当前光标处向前进行查找字符串“word” |
| n | 定位下一个匹配的被查找字符 |
| N | 定位上一个匹配的被查找字符 |
撤销编辑及保存退出
| 操作键 | 功能 |
| u | 按一次取消最近一次的操作;重复u键,恢复多步操作 |
| U | 用于取消对当前行所做的所有编辑 |
| ZZ | 保存当前的文件内容并退出vi编辑 |
6.末行模式的基本操作
保存文件及退出vi编辑器
| 功能 | 命令 | 备注 |
| 保存文件 | :w | 保存修改的内容 |
| :w /root/newfile | 另存为其它文件 | |
| 退出vi | :q | 未修改退出 |
| :q! | 放弃对文件内容的修改,并退出vi | |
| 保存文件退出vi | :wq或x | 保存修改的内容并退出 |
打开新文件或读入其他文件内容
| 命令 | 功能 |
| :e ~/install.log | 打开新的文件进行编辑 |
| :r /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命令,将对每个替换动作提示用户进行确认 |











