linux中vi编辑器命令大全
linux中vi编辑器命令大全详细介绍
以下是 Linux 中 vi 编辑器的常用命令分类整理,涵盖命令模式、插入模式、底行模式等核心操作:
一、命令模式(默认模式,启动后自动进入)
1. 光标移动
| 命令 | 功能描述 |
|---|---|
h / ← |
左移一个字符 |
l / → |
右移一个字符 |
j / ↓ |
下移一行 |
k / ↑ |
上移一行 |
0 / ^ |
移动到行首(第一个非空白字符前) |
$ |
移动到行尾 |
w / W |
右移一个单词(W忽略标点) |
b / B |
左移一个单词(B忽略标点) |
G |
移动到文件最后一行 |
nG |
移动到第 n 行(如 10G 到第 10 行) |
gg |
移动到文件第一行 |
Ctrl+b |
向上翻一页(Backward) |
Ctrl+f |
向下翻一页(Forward) |
2. 文本编辑(删除 / 复制 / 粘贴)
| 命令 | 功能描述 |
|---|---|
x |
删除当前字符 |
X |
删除前一个字符(向左删除) |
dd |
删除当前行(可配合数字,如 2dd 删除 2 行) |
d{动作} |
删除操作(如 dw 删除当前单词,d$ 删除到行尾) |
y{动作} |
复制(如 yy 复制当前行,yw 复制当前单词) |
p |
在光标后粘贴(小写) |
P |
在光标前粘贴(大写) |
u |
撤销上一次操作 |
Ctrl+r |
重做(vi 一般不支持,vim 支持) |
~ |
切换当前字符大小写 |
3. 可视化模式(选中文本)
| 命令 | 功能描述 |
|---|---|
v |
进入字符选择模式,移动光标选中字符 |
Shift+v |
进入行选择模式,选中整行 |
Ctrl+v |
进入块选择模式(垂直选择) |
d / y |
在可视化模式下删除或复制选中内容 |
4. 其他操作
| 命令 | 功能描述 | |
|---|---|---|
:) |
进入插入模式(在当前字符后) | (注:实际是 a 命令,可能笔误,正确见下方插入模式) |
r |
替换当前字符(如 rA 用 A 替换当前字符) |
|
cc |
删除当前行并进入插入模式 | |
s |
删除当前字符并进入插入模式 | |
S |
删除当前行并进入插入模式(等同 cc) |
二、插入模式(从命令模式进入)
| 命令 | 功能描述 |
|---|---|
i |
在光标前插入 |
I |
在当前行首插入 |
a |
在光标后插入(追加) |
A |
在当前行尾插入 |
o |
在当前行下方新建一行并插入 |
O |
在当前行上方新建一行并插入 |
esc |
退出插入模式,返回命令模式 |
三、底行模式(命令模式下输入 : 进入,输入后按回车执行)
1. 文件操作
| 命令 | 功能描述 |
|---|---|
:w |
保存文件 |
:w 文件名 |
另存为指定文件 |
:q |
退出(仅在未修改时有效) |
:q! |
强制退出,不保存修改 |
:wq / :x |
保存并退出 |
2. 查找与替换
| 命令 | 功能描述 |
|---|---|
/关键词 |
向下搜索关键词(按 n 下一个,N 上一个) |
?关键词 |
向上搜索关键词 |
:n1,n2s/旧内容/新内容/g |
在第 n1 到 n2 行替换所有匹配项 |
:%s/旧内容/新内容/g |
在所有行替换所有匹配项(% 代表全文) |
:%s/旧内容/新内容/gc |
替换前询问确认(c 表示 confirm) |
3. 行操作
| 命令 | 功能描述 |
|---|---|
:set nu |
显示行号 |
:set nonu |
隐藏行号 |
:n |
跳转到第 n 行(如 :10 到第 10 行) |
:n1,n2 d |
删除第 n1 到 n2 行 |
:n1,n2 co n3 |
将第 n1 到 n2 行复制到第 n3 行后 |
:n1,n2 mo n3 |
将第 n1 到 n2 行移动到第 n3 行后 |
4. 其他设置
| 命令 | 功能描述 |
|---|---|
:set list |
显示特殊字符(如换行符 $) |
:set ignorecase |
搜索时忽略大小写 |
:set noignorecase |
恢复大小写敏感搜索 |
:set tabstop=4 |
设置制表符宽度为 4 个空格 |
四、高级技巧(部分兼容 vim)
- 多文件操作(需 vi 支持,部分简化版 vi 可能不支持):
:e 文件名:编辑新文件:n/:N:切换到下一个 / 上一个文件:wqall:保存并退出所有文件
- 正则表达式搜索:
\转义字符(如搜索$需用\$).*匹配任意字符(如/^abc.*def$/匹配以abc开头、def结尾的行)
- 批量操作:
- 用
数字+命令重复操作(如5j下移 5 行,3yy复制 3 行)
- 用
五、快速记忆口诀
- 插入模式:
i前插,a后加,o下开新行,I行首,A行尾。 - 删除 / 复制:
dd删行,yy拷行,p贴后,P贴前,x删字符。 - 保存退出:
:w存,:q退,:wq存退,:q!强制退。
掌握这些核心命令后,配合练习可大幅提升 vi 操作效率。如果使用的是增强版 vim,部分高级功能(如代码折叠、插件)可进一步探索。