外观
常用命令与操作指南
约 1062 字大约 4 分钟
2025-06-19
目录
基础导航
光标移动
| 按键 | 说明 |
|---|---|
h / ← | 左移一格 |
j / ↓ | 下移一行 |
k / ↑ | 上移一行 |
l / → | 右移一格 |
w | 跳到下一个单词开头 |
b | 跳到上一个单词开头 |
e | 跳到当前或下一个单词末尾 |
0 | 跳到行首(数字零) |
^ | 跳到行首第一个非空白字符 |
$ | 跳到行尾 |
gg | 跳到文件开头 |
G | 跳到文件末尾 |
Ctrl+d | 向下翻半页 |
Ctrl+u | 向上翻半页 |
行号与跳转
:set nu " 显示行号(:set number 的简写)
:set nonu " 隐藏行号
:123 " 跳转到第 123 行翻页与滚动
Ctrl+f " 向前翻一整页(forward)
Ctrl+b " 向后翻一整页(backward)
Ctrl+d " 向下翻半页(down)
Ctrl+u " 向上翻半页(up)
Ctrl+e " 向下滚动一行
Ctrl+y " 向上滚动一行提示:数字 + 翻页组合可放大倍数,如
2 Ctrl+d向下翻两半页。
文本选择
Vim 有三种选择模式:
| 模式 | 按键 | 说明 |
|---|---|---|
| 字符选择(Visual) | v | 逐字符选择 |
| 行选择(V) | V | 逐行选择 |
| 块选择(Visual Block) | Ctrl+v | 按列块选择 |
选择后可以用 h/j/k/l 或方向键扩展选区,按 Escape 退出选择。
复制、剪切与粘贴
yy " 复制当前行(yank)
2yy " 复制当前行及下面共 2 行
dd " 剪切当前行
2dd " 剪切当前行及下面共 2 行
p " 在光标下方粘贴
P " 在光标上方粘贴撤销与重做
u " 撤销上一次修改
Ctrl+r " 重做(恢复被撤销的修改)
. " 重复上一次操作提示:
.命令是 Vim 的杀手级功能之一,可以在不同行上快速重复相同的编辑操作。
查找与替换
查找
/pattern " 向下搜索 pattern
?pattern " 向上搜索 pattern
n " 跳转到下一个匹配项
N " 跳转到上一个匹配项
* " 以光标所在单词为关键词向下搜索
# " 以光标所在单词为关键词向上搜索替换
| 命令 | 说明 |
|---|---|
:s/vivian/sky/ | 替换当前行第一个 vivian 为 sky |
:s/vivian/sky/g | 替换当前行所有 vivian 为 sky |
:%s/vivian/sky/g | 替换全文所有 vivian 为 sky |
:1,10s/vivian/sky/g | 替换第 1~10 行所有匹配 |
:n,$s/vivian/sky/g | 替换第 n 行到最后一行所有匹配 |
:%s/vivian/sky/gc | 替换全文并逐处确认 |
提示:替换时加上
c标志可以逐处确认,避免误替换。
缩进与格式化
自动缩进
gg=G " 格式化整个文件(等号命令自动缩进)
== " 格式化当前行
:[count]== " 格式化从当前行起的 count 行手动缩进
在命令模式下:
- 按
v进入 Visual 模式 - 用
j/k或方向键选中要格式化的行 - 按
=对选中内容进行缩进格式化 - 按
Shift++(即>)可增加一级缩进 - 按
Shift+-(即<)可减少一级缩进
缩进相关配置
:set tabstop=4 " Tab 宽度为 4 空格
:set shiftwidth=4 " 自动缩进宽度为 4 空格
:set expandtab " 使用空格代替 Tab 字符
:set noexpandtab " 使用 Tab 字符无权限保存文件
当文件没有写入权限时,可以通过 sudo 提权保存:
:w !sudo tee %原理:通过 tee 命令以 root 身份将缓冲区内容写入当前文件(% 代表当前文件路径)。
模式切换速查
| 操作 | 按键 |
|---|---|
| 普通模式 → 插入模式 | i(光标前)、a(光标后)、o(下一行) |
| 插入模式 → 普通模式 | Escape 或 Ctrl+[ |
| 普通模式 → 可视模式 | v(字符)、V(行)、Ctrl+v(块) |
| 普通模式 → 命令行模式 | :(底部命令)、/(向下搜索)、?(向上搜索) |
| 退出 Vim | :q(退出)、:q!(强制退出)、:wq(保存退出)、:x(保存退出) |
