←返回列表vim的基础操作
发布于 2026/04/18 · 公开
Vim 操作逻辑
Vim 的操作逻辑更像一门语言:
[次数] + [操作] + [范围]
👉 核心原则:
不用鼠标,少按退格键
🧪 示例文本(所有操作基于它)
function greet(name) {
const message = "hello " + name;
console.log(message);
return message;
}
一、单词级操作
| 场景 |
命令 |
结果 |
删除一个单词(光标在 const) |
dw |
const 被删除 → message = "hello " + name; |
删除当前单词(光标在 greet) |
diw |
function (name) |
修改单词(光标在 hello) |
cwHi<Esc> |
"Hi " + name |
| 修改引号内内容 |
ci"Hi Vim<Esc> |
"Hi Vim" + name |
| 复制当前单词 |
yiw + p |
greetgreet |
二、行级操作
| 场景 |
命令 |
结果 |
| 删除整行(console.log) |
dd |
该行消失 |
| 删除3行 |
3dd |
当前行 + 下2行被删除 |
| 复制一行 |
yy + p |
当前行复制一份 |
| 删除到行尾 |
d$ |
行尾内容被清空 |
| 复制到行尾 |
y$ |
复制 "hello " + name; |
三、代码块 / 段落操作
| 场景 |
命令 |
结果 |
| 删除整个函数 |
dip |
整段代码被删除 |
| 删除到代码块结束 |
d} |
从当前位置删到 } |
| 修改整个代码块 |
ci{...} |
替换函数体 |
| 删除括号内容 |
di( |
(name) → () |
四、复制与粘贴
| 场景 |
命令 |
结果 |
| 粘贴到后面 |
p |
内容插入到光标后 |
| 粘贴到前面 |
P |
内容插入到光标前 |
| 行复制粘贴 |
yy + p |
当前行复制一份 |
五、全文操作
| 场景 |
命令 |
结果 |
| 全选复制 |
ggyG |
整个文件复制 |
| 全部删除 |
ggdG |
文件清空 |
六、格式化与缩进
| 场景 |
命令 |
结果 |
| 当前行对齐 |
== |
自动缩进 |
| 全文格式化 |
gg=G |
整体代码对齐 |
| 向右缩进 |
>> |
行向右移动 |
| 向左缩进 |
<< |
行向左移动 |
| 段落格式化 |
gqip |
自动换行 |
七、可视模式
| 场景 |
命令 |
结果 |
| 字符选择 |
v |
选中字符 |
| 行选择 |
V |
选中整行 |
| 块选择 |
Ctrl+v |
列编辑(多行操作) |
| 批量注释 |
Ctrl+v → Shift+i → // |
多行前加 // |
🧠 一句话总结
Vim = 操作符 + 范围
例如: