Vim 快捷键速查
模式切换
| 快捷键 | 说明 |
|---|---|
| Esc | 返回普通模式(Normal Mode) |
| i | 进入插入模式(Insert Mode),在光标前插入 |
| a | 进入插入模式,在光标后插入 |
| o | 在当前行下方新开一行并进入插入模式 |
| O | 在当前行上方新开一行并进入插入模式 |
| v | 进入可视模式(Visual Mode),逐字符选择 |
| V | 进入可视行模式,逐行选择 |
| Ctrl + v | 进入可视块模式,矩形区域选择 |
| : | 进入命令模式(Command Mode) |
| R | 进入替换模式(Replace Mode),覆盖输入 |
光标移动(普通模式)
| 快捷键 | 说明 |
|---|---|
| h j k l | 左、下、上、右移动一个字符 |
| w | 跳到下一个单词开头 |
| b | 跳到上一个单词开头 |
| e | 跳到当前单词末尾 |
| 0(数字零) | 跳到行首 |
| $ | 跳到行尾 |
| ^ | 跳到行首第一个非空白字符 |
| gg | 跳到文件第一行 |
| G | 跳到文件最后一行 |
| nG 或 :n | 跳到第 n 行 |
| Ctrl + d | 向下翻半屏 |
| Ctrl + u | 向上翻半屏 |
| Ctrl + f | 向下翻一整屏 |
| Ctrl + b | 向上翻一整屏 |
| f + char | 跳到行内下一个指定字符处 |
| t + char | 跳到行内下一个指定字符的前一个位置 |
| % | 跳到匹配的括号处 |
编辑操作
| 快捷键 | 说明 |
|---|---|
| x | 删除光标处字符 |
| dd | 删除(剪切)当前行 |
| ndd | 删除(剪切)从当前行开始的 n 行 |
| D | 删除光标处到行尾的内容 |
| dw | 删除从光标处到下一个单词开头 |
| d0 / d$ | 删除到行首 / 行尾 |
| yy | 复制当前行 |
| nyy | 复制从当前行开始的 n 行 |
| p | 在光标下方粘贴 |
| P | 在光标上方粘贴 |
| u | 撤销上一步操作 |
| Ctrl + r | 重做(恢复撤销的操作) |
| r + char | 替换光标处字符为指定字符 |
| cw | 删除当前单词并进入插入模式 |
| cc | 删除当前行并进入插入模式 |
| S | 等同于 cc |
| J | 合并当前行与下一行 |
| >> / << | 向右 / 左缩进当前行 |
| == | 自动缩进当前行 |
搜索与替换
| 快捷键 | 说明 |
|---|---|
| /pattern | 向下搜索匹配的内容 |
| ?pattern | 向上搜索匹配的内容 |
| n | 跳到下一个匹配 |
| N | 跳到上一个匹配 |
| * | 搜索光标下的单词(向前) |
| # | 搜索光标下的单词(向后) |
| :s/old/new | 替换当前行第一个 old |
| :s/old/new/g | 替换当前行所有 old |
| :%s/old/new/g | 替换全文所有 old |
| :%s/old/new/gc | 替换全文所有 old,每次替换前确认 |
| :nohl | 清除搜索高亮 |
窗口与标签页
| 快捷键 | 说明 |
|---|---|
| :sp file | 水平分割窗口打开文件 |
| :vsp file | 垂直分割窗口打开文件 |
| Ctrl + w + w | 在窗口之间切换 |
| Ctrl + w + h/j/k/l | 切换到左 / 下 / 上 / 右窗口 |
| Ctrl + w + q | 关闭当前窗口 |
| Ctrl + w + = | 等分所有窗口大小 |
| :tabnew file | 在新标签页打开文件 |
| :tabn / :tabp | 切换到下一个 / 上一个标签页 |
| gt / gT | 切换到下一个 / 上一个标签页 |
文件操作
| 快捷键 | 说明 |
|---|---|
| :w | 保存文件 |
| :wq | 保存并退出 |
| :q | 退出(未修改时) |
| :q! | 强制退出不保存 |
| :wq! | 强制保存并退出 |
| :e file | 打开另一个文件 |
| :e! | 重新加载当前文件(丢弃修改) |
| :saveas file | 另存为指定文件 |
| :r file | 读入另一个文件的内容到光标位置 |
实用命令
| 快捷键 | 说明 |
|---|---|
| :set nu | 显示行号 |
| :set nonu | 隐藏行号 |
| :set relativenumber | 显示相对行号 |
| :set hlsearch | 开启搜索高亮 |
| :set ignorecase | 搜索忽略大小写 |
| :set smartcase | 输入大写字母时区分大小写搜索 |
| :set wrap / nowrap | 开启 / 关闭自动换行 |
| :set paste | 进入粘贴模式(防止缩进错乱) |
| :set nopaste | 退出粘贴模式 |
| :sort | 对选中行排序 |
| !cmd | 在普通模式下执行 shell 命令 |
| :!cmd | 在命令模式下执行 shell 命令 |
| Ctrl + z | 挂起 Vim 返回 shell,输入 fg 返回 |
| :help | 打开帮助文档 |
