通用必会
| 快捷键 | 作用 | 触发模式 | 备注 |
|---|---|---|---|
| u | 撤销 | 普通 | 为你的错误操作买单 |
| Ctrl+r | 撤销已做的撤销 | 普通 | 不想做撤销呢 |
移动
移动的命令很重要,删除,复制,粘贴都跟它有关
光标移动
普通模式下作用
| 快捷键 | 作用 |
|---|---|
| h | 光标向左移动一个字符 |
| j | 光标向下移动一行 |
| k | 光标向上移动一行 |
| l | 光标向右移动一个字符 |
光标跳转
| 快捷键 | 作用 |
|---|---|
| w | 光标跳转到下一个单词的首字母 |
| b | 光标跳转到上一个单词的首字母 |
| e | 光标跳转到下一个单词的尾字母 |
| ge | 光标跳转到上一个单词的尾字母 |
| $ | 光标跳转到当前行的行尾 |
| 0(数字) | 光标跳转到当前行的行首 |
| ^ | 光标跳转到当前行的行首非空字符 |
| g_ | 光标跳转到当前行的行尾非空字符 |
| gg | 光标跳转到文件首行首个非空字符 |
| G | 光标跳转到文件尾行首个非空字符 |
翻页
| 快捷键 | 作用 |
|---|---|
| Ctrl + f | 向下滚动一页 |
| Ctrl + b | 向上滚动一页 |
| Ctrl + d | 向下滚动半页 |
| Ctrl + u | 向上滚动半页 |
替换
| 快捷键 | 作用 | 触发模式 |
|---|---|---|
| x | 替换光标所在的字符 | 普通模式 |
| ciw | 替换当前光标所在的单词 |
删除
| 快捷键 | 作用 | 触发模式 |
|---|---|---|
| x | 删除光标所在位置的字符 | 普通模式 |
| dw | 删除光标位置到下一个单词开头的字符 | 普通模式 |
| D/d$ | 删除光标位置到行尾的字符 | |
| d0 | 删除光标位置到行首的字符 | |
| d^ | 删除光标位置到行首非空的字符 | |
| dd | 删除当前行 | 普通模式 |
| ndd | 删除n行,包含当前行 | |
| dgg | 删除当前行到文件首行 | |
| dG | 删除当前行到文件尾行 |
使用 ndd 可以使用 p 来粘贴刚才删除的行
复制+粘贴
| 命令 | 作用 | 备注 |
|---|---|---|
| yy | 复制当前行。 | yy - Yank (copy) line |
| yw | 复制从光标位置到下一个单词结尾的字符。 | yw - Yank (copy) word |
| y$ | 复制从光标位置到行尾的字符。 | y$ - Yank (copy) to end of line |
| y0 | 复制从光标位置到行首的字符(忽略空白字符)。 | y0 - Yank (copy) to beginning of line |
| y^ | 复制从光标位置到行首的第一个非空白字符。 | y^ - Yank (copy) to first non-blank character |
| p | 粘贴最后一次复制的内容。 | p - Paste last yanked (copied) content |
| P | 在当前行之前粘贴最后一次复制的内容。 | P - Paste above current line |
| “+y | 复制文本到系统剪贴板。 | "+y - Yank (copy) to system clipboard |
| “+p | 从系统剪贴板粘贴内容。 | "+p - Paste from system clipboard |
| :reg | 查看 Vim 寄存器中保存的内容。 | :reg - View contents of Vim registers |
| “ayy | 将当前行复制到寄存器 a 中。 | "ayy - Copy current line to register a |
| “ap | 从寄存器 a 中粘贴内容。 | "ap - Paste from register a |
| “ayiw | 将当前单词复制到寄存器 a 中。 | "ayiw - Copy current word to register a |
| “aP | 从寄存器 a 中粘贴内容到当前位置。 | "aP - Paste from register a at current position |