File tree Expand file tree Collapse file tree 2 files changed +169
-0
lines changed
Filter options
Expand file tree Collapse file tree 2 files changed +169
-0
lines changed
Original file line number Diff line number Diff line change
1
+ ## ** 1. 基础移动(Navigation)**
2
+ - ** 字符移动** :
3
+ - ` h ` ← / ` j ` ↓ / ` k ` ↑ / ` l ` →
4
+ - 方向键也能用,但 Vim 提倡用 ` hjkl ` 保持手不离键盘。
5
+ - ** 单词移动** :
6
+ - ` w ` → 跳到下一个单词开头
7
+ - ` b ` ← 跳到上一个单词开头
8
+ - ` e ` → 跳到当前单词末尾
9
+ - ** 行内跳转** :
10
+ - ` 0 ` 跳到行首,` ^ ` 跳到第一个非空字符
11
+ - ` $ ` 跳到行尾
12
+ - ` f<char> ` 向后搜索字符(如 ` fa ` 跳到下一个 ` a ` )
13
+ - ** 屏幕移动** :
14
+ - ` Ctrl + u ` 上翻半屏,` Ctrl + d ` 下翻半屏
15
+ - ` gg ` 跳到文件开头,` G ` 跳到文件末尾
16
+ - ` :<行号> ` 跳转到指定行(如 ` :42 ` 跳到第 42 行)
17
+
18
+ ---
19
+
20
+ ## ** 2. 编辑文本(Editing)**
21
+ - ** 插入模式** :
22
+ - ` i ` 在光标前插入
23
+ - ` a ` 在光标后插入
24
+ - ` I ` 在行首插入,` A ` 在行尾插入
25
+ - ` o ` 在下一行插入,` O ` 在上一行插入
26
+ - ** 删除** :
27
+ - ` x ` 删除当前字符
28
+ - ` dw ` 删除一个单词
29
+ - ` dd ` 删除整行
30
+ - ` D ` 删除从光标到行尾
31
+ - ** 复制/粘贴** :
32
+ - ` yy ` 复制当前行
33
+ - ` p ` 粘贴到光标后,` P ` 粘贴到光标前
34
+ - ` yiw ` 复制当前单词
35
+ - ** 撤销/重做** :
36
+ - ` u ` 撤销
37
+ - ` Ctrl + r ` 重做
38
+
39
+ ---
40
+
41
+ ## ** 3. 选择与可视化模式(Visual Mode)**
42
+ - ` v ` 进入字符选择模式
43
+ - ` V ` 进入行选择模式
44
+ - ` Ctrl + v ` 进入块选择模式(适合多行编辑)
45
+ - 选中后可以用 ` d ` (删除)、` y ` (复制)、` > ` (缩进)等操作
46
+
47
+ ---
48
+
49
+ ## ** 4. 搜索与替换(Search & Replace)**
50
+ - ` / ` + 关键词 → 搜索(` n ` 下一个,` N ` 上一个)
51
+ - ` :%s/old/new/g ` → 全局替换(` g ` 表示所有匹配)
52
+ - ` * ` 快速搜索当前光标下的单词
53
+
54
+ ---
55
+
56
+ ## ** 5. 组合命令(Power Moves)**
57
+ - ` di" ` → 删除引号内的内容
58
+ - ` ciw ` → 修改当前单词
59
+ - ` dt<char> ` → 删除直到某个字符(如 ` dt) ` 删除到 ` ) ` )
60
+ - ` . ` → 重复上一次操作
Original file line number Diff line number Diff line change
1
+ ## 基本移动命令
2
+
3
+ | 命令 | 描述 |
4
+ | ------ | -------------------------- |
5
+ | ` h ` | 向左移动 |
6
+ | ` j ` | 向下移动 |
7
+ | ` k ` | 向上移动 |
8
+ | ` l ` | 向右移动 |
9
+ | ` w ` | 移动到下一个单词开头 |
10
+ | ` b ` | 移动到上一个单词开头 |
11
+ | ` e ` | 移动到当前单词末尾 |
12
+ | ` 0 ` | 移动到行首 |
13
+ | ` ^ ` | 移动到行首第一个非空白字符 |
14
+ | ` $ ` | 移动到行尾 |
15
+ | ` gg ` | 移动到文件开头 |
16
+ | ` G ` | 移动到文件末尾 |
17
+ | ` :[n] ` | 移动到第 n 行 |
18
+
19
+ ## 插入模式
20
+
21
+ | 命令 | 描述 |
22
+ | ---- | -------------------------- |
23
+ | ` i ` | 在光标前插入 |
24
+ | ` a ` | 在光标后插入 |
25
+ | ` I ` | 在行首插入 |
26
+ | ` A ` | 在行尾插入 |
27
+ | ` o ` | 在当前行下方新建一行并插入 |
28
+ | ` O ` | 在当前行上方新建一行并插入 |
29
+
30
+ ## 编辑命令
31
+
32
+ | 命令 | 描述 |
33
+ | -------- | -------------------- |
34
+ | ` x ` | 删除当前字符 |
35
+ | ` dd ` | 删除当前行 |
36
+ | ` dw ` | 删除到下一个单词开头 |
37
+ | ` d$ ` | 删除到行尾 |
38
+ | ` d^ ` | 删除到行首 |
39
+ | ` yy ` | 复制当前行 |
40
+ | ` p ` | 粘贴 |
41
+ | ` u ` | 撤销 |
42
+ | ` Ctrl+r ` | 重做 |
43
+ | ` . ` | 重复上一次修改 |
44
+
45
+ ## 搜索与替换
46
+
47
+ | 命令 | 描述 |
48
+ | ---------------- | ------------------- |
49
+ | ` /pattern ` | 向前搜索 pattern |
50
+ | ` ?pattern ` | 向后搜索 pattern |
51
+ | ` n ` | 下一个匹配项 |
52
+ | ` N ` | 上一个匹配项 |
53
+ | ` :%s/old/new/g ` | 全局替换 old 为 new |
54
+ | ` :%s/old/new/gc ` | 全局替换,每次确认 |
55
+
56
+ ## 可视模式
57
+
58
+ | 命令 | 描述 |
59
+ | -------- | ---------------- |
60
+ | ` v ` | 进入字符可视模式 |
61
+ | ` V ` | 进入行可视模式 |
62
+ | ` Ctrl+v ` | 进入块可视模式 |
63
+
64
+ ## 窗口管理
65
+
66
+ | 命令 | 描述 |
67
+ | ------------- | -------------- |
68
+ | ` :sp [file] ` | 水平分割窗口 |
69
+ | ` :vsp [file] ` | 垂直分割窗口 |
70
+ | ` Ctrl+w h ` | 移动到左侧窗口 |
71
+ | ` Ctrl+w j ` | 移动到下方窗口 |
72
+ | ` Ctrl+w k ` | 移动到上方窗口 |
73
+ | ` Ctrl+w l ` | 移动到右侧窗口 |
74
+ | ` Ctrl+w c ` | 关闭当前窗口 |
75
+ | ` Ctrl+w o ` | 只保留当前窗口 |
76
+
77
+ ## 标签页
78
+
79
+ | 命令 | 描述 |
80
+ | ---------------- | -------------- |
81
+ | ` :tabnew [file] ` | 新建标签页 |
82
+ | ` gt ` | 下一个标签页 |
83
+ | ` gT ` | 上一个标签页 |
84
+ | ` :tabclose ` | 关闭当前标签页 |
85
+
86
+ ## 文件操作
87
+
88
+ | 命令 | 描述 |
89
+ | --------- | -------------- |
90
+ | ` :e file ` | 打开文件 |
91
+ | ` :w ` | 保存文件 |
92
+ | ` :w file ` | 另存为 file |
93
+ | ` :q ` | 退出 |
94
+ | ` :q! ` | 强制退出不保存 |
95
+ | ` :wq ` | 保存并退出 |
96
+ | ` :x ` | 保存并退出 |
97
+
98
+ ## 其他实用命令
99
+
100
+ | 命令 | 描述 |
101
+ | ----------------- | --------------------------------- |
102
+ | ` * ` | 搜索当前光标下的单词 |
103
+ | ` # ` | 反向搜索当前光标下的单词 |
104
+ | ` :%!command ` | 将当前缓冲区内容通过 command 过滤 |
105
+ | ` :r!command ` | 将 command 的输出插入到当前位置 |
106
+ | ` :set nu ` | 显示行号 |
107
+ | ` :set nonu ` | 隐藏行号 |
108
+ | ` :set hlsearch ` | 高亮搜索结果 |
109
+ | ` :set nohlsearch ` | 取消高亮搜索结果 |
You can’t perform that action at this time.
0 commit comments