vi编辑器简介
- vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
- vi 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。没有菜单,只有命令,且命令繁多。vi有3种基本工作模式:命令行模式、文本输入模式和末行模式。
- Vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。
文本编辑器的作用
-
创建或修改文本文件
-
维护Linux系统中的各种配置文件
Linux中最常用的文本编辑器
-
vi:类UNIX操作系统的默认文本编辑器
-
vim: vim是vi文本编辑器(一般简称为vi编辑器)的增强版本
vi编辑器的工作模式
三种工作模式
模式 | 作用 |
---|---|
命令模式 | 在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。 |
输入模式 | 在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。 |
末行模式 | 多数文件管理命令都是在此模式下执行,末行命令执行完后,Vi自动回到命令模式。 |
不同模式之间的切换
快捷键 | 作用 | 快捷键 | 作用 |
---|---|---|---|
a | 在光标之前插入 | i | 在光标之后插入 |
o | 光标所在的下一行插入 | O | 光标所在上一行插入 |
: | 末行模式 | esc键 | 退出当前模式回到命令模式 |
命令模式的基本操作
光标移动
操作类型 | 操作键 | 功能 |
---|---|---|
方向移动 | ↑、↓、←、→ | 上、下、左、右 |
翻页 | Page Down或Ctrl+F | 向下翻动整页内容 |
Page Up或Ctrl+B | 向上翻动整页内容 | |
行内快速跳转 | Home键或“^”、数字"0" | 跳转至行首 |
End键或"$”键 | 跳转到行尾 | |
行间快速跳转 | 1G或者gg | 跳转到文件的首行 |
G | 跳转到文件的末尾行 | |
#G | 跳转到文件中的第#行 | |
行号显示 | :set nu | 在编辑器中显示行号 |
:set nonu | 取消编辑器中的行号显示 |
复制、粘贴、删除
操作类型 | 操作键 | 功能 |
---|---|---|
删除 | x或Del | 删除光标处的单个字符 |
dd | 删除当前光标所在行 | |
#dd | 删除从光标所在行开始的#行内容 | |
d^ | 删除当前光标之前到行首的所有字符 | |
d$ | 删除当前光标到行尾的所有字符 | |
dw | 删除光标所在处单词 | |
复制 | yy | 复制当前行整行的内容到剪贴板 |
#yy | 复制从光标所在行开始的#行内容 | |
粘贴 | p | 将缓冲区中的内容粘贴到光标位置处之后 |
P | 粘贴到光标位置之前 |
文件内容查找
操作键 | 功能 |
---|---|
/word | 从上而下在文件中查找字符串“word” |
?word | 从下而上在文件中查找字符串“word” |
n | 定位下一个匹配的被查找字符串 |
N | 定位上一个匹配的被查找字符串 |
撤销编辑及保存退出
操作键 | 功能 |
---|---|
u | 按一次取消最近一次操作,重复u键,恢复多部操作 |
U | 用于取消对当前行所做的所有比编辑 |
ZZ | 保存当前的文件内容并退出vi编辑器 |
末行模式的基本操作
保存文件及退出vi编辑器
功能 | 命令 | 备注 |
---|---|---|
保存文件 | :w | 保存修改的内容 |
:w /root/newfile | 另存为其他文件 | |
退出vi | :q | 未修改退出 |
:q! | 放弃对文件内容的修改,并退出vi | |
保存文件退出 | :wq | 保存修改的内容并退出 |
打开新文件或读入其他文件内容
命令 | 功能 |
---|---|
:e /install.log | 打开新的文件进行编辑 |
:r /etc/filesystems | 在当前我文件中读入其他文件内容 |
文件内容替换
命令 | 功能 |
---|---|
😒/old/new | 将当前行中查找到的第一个字符"old"串替换为"new" |
😒/old/new/g | 将当前行中查找到的所有字符串"old"替换为“new” |
:#,# s/old/new/g | 在行号“#,#”范围内替换所有的字符串“old"为”new“ |
😒/old/new/c | 在替换命令末尾加入c命令。将对每个替换动作提示用户进行确认 |