vi (Visual Interface) 是所有 *nux 系统下标准的文本编辑器,相当于 Windows 系统中的记事本
它有三种模式,命令模式 (Command Mode)、行末模式 (LastLine Mode)、编辑模式 (Insert Mode)
命令模式是打开编辑器时的默认模式,编辑模式常用于编辑文本,行末模式常用于执行命令,下面逐一介绍
1、命令模式
无论当前处于任何模式,按
Esc
键即可切换到 Command Mode
(1)移动
(2)复制与粘贴
操作 | 描述 |
(数字 + ) y + w |
复制指定字数,如果不指定数字,默认为 1 字 |
(数字 + ) y + y |
复制指定行数,如果不指定数字,默认为 1 行 |
p |
粘贴到当前光标所在字符或所在行后 |
P |
粘贴到当前光标所在字符或所在行前 |
(3)删除与撤销
操作 | 描述 |
d + d |
删除光标所在行 |
数字 + d + 方向键上 / 方向键下 |
删除从光标所在处开始的指定方向上的指定行数 |
数字 + x |
删除光标所在位置及其后指定个字符 |
数字 + X |
删除光标所在位置及其前指定个字符 |
u |
撤销 |
2、行末模式
当处于 Command Mode 下,按
:
可切换到 LastLine Mode
(1)打开与关闭
操作 | 描述 |
e + 文件 |
新建文件 |
n + 文件 |
打开文件 |
w |
保存当前文件内容 |
q |
退出文件编辑 |
wq |
保存文件之后退出文件编辑 |
qa |
退出所有文件编辑 |
q! |
强制退出文件编辑,不保存 |
(2)查找与替换
操作 | 描述 |
?字符串 |
从当前位置向前查找特定字符串(按 n 查找下一个,按 N 查找上一个) |
/字符串 |
从当前位置向后查找特定字符串(按 n 查找下一个,按 N 查找上一个) |
g |
全局替换 |
(3)编辑设置
操作 | 描述 |
set n / set nonu |
显示行号 / 取消显示行号 |
set ai / set noai |
自动缩进 / 取消自动缩进 |
syntax on / syntax off |
语法高亮 / 取消语法高亮 |
(4)操作多个文件
操作 | 描述 |
prev |
切换到上一个文件 |
next |
切换到下一个文件 |
first |
切换到第一个文件 |
last |
切换到最后一个文件 |
3、编辑模式
当处于 Command Mode 下,按
i / I / a / A / o / O
均可切换到 Insert Mode
i
:在当前光标所在字符前面,切换为输入模式I
:在当前光标所在行的行首,切换为输入模式a
:在当前光标所在字符后面,切换为输入模式A
:在当前光标所在行的行末,切换为输入模式o
:在当前光标所在行的下方插入一行,切换为输入模式O
:在当前光标所在行的上方插入一行,切换为输入模式
该模式主要用于编辑文本
文章知识点与官方知识档案匹配,可进一步学习相关知识