Linux下vi编辑常用命令
Linux下vi编辑常用命令详细介绍
在 Linux 下使用 vi 编辑器时,常用命令可分为 命令模式、插入模式 和 底行模式,以下是核心操作总结:
一、命令模式(默认进入模式,按 ESC 可返回)
1.
光标移动
| 操作 | 说明 |
|---|---|
h / ← |
左移一个字符 |
j / ↓ |
下移一行 |
k / ↑ |
上移一行 |
l / → |
右移一个字符 |
数字 + 方向键 |
按指定数字移动(如 5j 下移 5 行) |
w / W |
右移一个单词(忽略标点 / 不忽略标点) |
b / B |
左移一个单词(忽略标点 / 不忽略标点) |
0 / ^ |
移动到行首(第一个字符) |
$ |
移动到行尾 |
G |
移动到文件末尾 |
数字 + G |
移动到指定行(如 10G 到第 10 行) |
gg |
移动到文件开头 |
Ctrl+f / PageDown |
向下翻一页 |
Ctrl+b / PageUp |
向上翻一页 |
2.
插入模式切换
| 操作 | 说明 |
|---|---|
i |
在当前字符前插入 |
I |
在行首插入 |
a |
在当前字符后追加 |
A |
在行尾追加 |
o |
在当前行下方新建一行插入 |
O |
在当前行上方新建一行插入 |
3.
删除与修改
| 操作 | 说明 |
|---|---|
x / dl |
删除当前字符 |
数字 + x |
删除后续 n 个字符(如 3x 删除 3 个) |
dd |
删除当前行 |
数字 + dd |
删除 n 行(如 5dd 删除 5 行) |
d + 移动命令 |
删除指定范围(如 dw 删除当前单词,d$ 删除到行尾) |
r |
替换当前字符(输入新字符即可) |
R |
进入替换模式(覆盖后续字符,按 ESC 退出) |
4.
复制与粘贴
| 操作 | 说明 |
|---|---|
yy |
复制当前行 |
数字 + yy |
复制 n 行(如 5yy 复制 5 行) |
p |
在光标后粘贴(下一行粘贴) |
P |
在光标前粘贴(上一行粘贴) |
5.
撤销与重做
| 操作 | 说明 |
|---|---|
u |
撤销上一步操作 |
Ctrl + r |
重做(恢复撤销的操作) |
二、底行模式(输入 : 进入,按 ESC 或 Enter 执行)
1.
保存与退出
| 操作 | 说明 |
|---|---|
:w |
保存文件 |
:w 文件名 |
另存为指定文件 |
:q |
退出(仅在未修改时有效) |
:q! |
强制退出(不保存修改) |
:wq / :x |
保存并退出 |
:wq! |
强制保存并退出(需权限) |
2.
查找与替换
| 操作 | 说明 |
|---|---|
/关键词 |
向下搜索关键词(按 n 下一个,N 上一个) |
?关键词 |
向上搜索关键词 |
:s/旧/新/ |
替换当前行第一个匹配项 |
:s/旧/新/g |
替换当前行所有匹配项 |
:%s/旧/新/g |
替换所有行的匹配项 |
:%s/旧/新/gc |
替换所有匹配项并询问确认(c 表示 confirm) |
3.
其他实用命令
| 操作 | 说明 |
|---|---|
:set nu |
显示行号 |
:set nonu |
隐藏行号 |
:数字 |
跳转到指定行(如 :10 到第 10 行) |
:r 文件名 |
读取并插入另一个文件的内容 |
:! 命令 |
执行系统命令(如 :!ls 查看文件) |
三、常用快捷键(命令模式)
| 操作 | 说明 |
|---|---|
Ctrl + u |
向上翻半页 |
Ctrl + d |
向下翻半页 |
J |
合并当前行与下一行(删除换行符) |
~ |
切换当前字符大小写 |
zp |
复制当前屏幕内容到粘贴缓冲区 |
使用技巧
- 可视化模式(部分
vi版本支持,vim更完善):- 按
v进入字符可视化,Shift + v进入行可视化,Ctrl + v进入块可视化。
- 按
- 快速删除 / 复制整行:
dd删除后,p可直接粘贴到下方,P粘贴到上方。
- 避免误操作:
- 修改前先保存(
:w),误操作时用u撤销,或强制退出前确认(:q!放弃所有修改)。
- 修改前先保存(
掌握这些命令后,可大幅提升文本编辑效率。如果使用的是功能更强大的 vim,还可通过插件进一步扩展功能,但基础命令与 vi 兼容。