vim 的常用快捷键
| h / l / j / k | 左/下/上/右 移动 |
| nj / nl | 上/下移动n行 |
| ctrl + b / f | 上/下翻一页 |
| ctrl + u / d | 上/下翻半页 |
| 0 / $ | 移动到行首/行尾 |
| ^ | 移动到行首第一个字符处 |
| ( / ) | 移动光标到上/下一个句子 |
| { / } | 移动到段首/段尾 |
| b / w | 移动到上/下一个词 |
| gg / G | 移动到文档开始/结尾 |
| % | 移动到匹配的{}.().[]处(光标必须在其上) |
| ngg 或 nG 或 :n | 跳到第n行 |
| H / M / L | 移动光标到屏幕顶端/中间/底部 |
| # / * | 向前/后查找关键字(光标必须在其上) | |
| fx, Fx, tx, Tx | 在当前行查找字符x | |
| :s/s1/s2 | 将下一个s1替换为s2 | |
| :%s/s1/s2 | 全部替换 | |
| :s/s1/s2/g | 只换当前行 | |
| :n1,n2 s/s1/s2/g | 替换 n1~n2 行 | |
| :/string | 搜索字符串string, 搜索下一处为n,搜索上一处为N | |
| :?string | 搜索字符串string, 搜索下一处为N,搜索上一处为n |
| i / a | 光标前/后插入 |
| I / A | 行首/行尾插入 |
| o / O | 后/前一行插入 |
| s / S | 删除字符插入 / 删除行插入 |
| x | 删除当前字符 |
| D / C | 删除到行尾 |
| dd / cc | 删除行() / 删除行并进入插入模式(等同于S) |
| dw / cw | 删除单词 / 删除单词并进入插入模式 |
| x或dl / s或cl | 删除字符 / 删除字符并进入插入模式 |
| p / xp / ddp | 粘贴 / 交换两个字符 / 交换两行 |
| y / yy或Y | 复制 / 复制一行 |
| u | 撤销 |
| ctrl + r | 重做 |
| J | 合并两行 |
| :split / vsplit | 分割一个窗口 |
| :new / ?vnew | 创建一个窗口 |
| :close | 关闭当前窗口 |
| :only | 仅保留当前窗口 |
| ctrl + w,h | 到左边窗口 |
| ctrl + w,l | 到右边窗口 |
| ctrl + w,k | 到上边窗口 |
| ctrl + w,j | 到下边窗口 |
| ctrl + w,t | 到顶部窗口 |
| ctrl + w,b | 到底部窗口 |