| key | description |
| h l k j | 左,右一字符;上一行,下一行 |
| b w | 左,右到一个词或记号 |
| ge e | 左,右到词或记号的末尾 |
| { } | 上,下一段的开始 |
| ( ) | 上,下一句的开始 |
| 0 gm | 一行的开始,中间 |
| ^ $ | 一行的第一,最后一个字符 |
| nG ngg | 第n行,默认为最后一行,第一行 |
| n% | 文件的n%(n必须指定) |
| n| | 当前行的第n列 |
| % | 匹配的括号,注释,#define |
| nH nL | 从窗口的开始,末尾算起的第n行 |
| M | 窗口的中间一行 |
| key | description |
| i a | 在光标前,后插入 |
| I A | 在行首,行尾插入 |
| gI | 在第一列插入 |
| o O | 在当前行下面,上面插入新行 |
| rc | 用c替换光标下的字符 |
| grc | 同r,但不影响布局 |
| R | 从光标处开始替换多个字符 |
| gR | 同R,但不影响布局 |
| cm | 更改到移动命令m处的文本 |
| cc or S | 更改当前行 |
| C | 更改到行尾 |
| s | 更改一个字符并插入 |
| ~ | 切换大小写并推进光标 |
| g~m | 切换大小写到移动命令m处的文本 |
| gum gUm | 小写化,大写化到移动命令m处的文本 |
| <m >m | 向左,右缩进到移动命令m处的文本 |
| n<< n>> | 向左,右缩进n列 |
| key | description |
| x X | 删除光标下,光标前的字符 |
| dm | 删除到移动命令m处 |
| dd D | 删除当前行,删除到行末 |
| J gJ | 当前行与下一行合并,不包括空格 |
| :rd | 删除r行 |
| :rdx | 删除r行并存入寄存器x |
| key | description |
| ^Vc ^Vn | 按照字面意思插入c,插入十进制字符n |
| ^A | 插入上次插入过的文本 |
| ^@ | 同^A并且停止插入进入命令模式 |
| ^Rx ^R^Rx | 插入寄存器x的内容,字面意思 |
| ^N ^P | 在光标前,后文本补全 |
| ^W | 删除光标前的词 |
| ^U | 删除所有当前行插入的字符 |
| ^D ^T | 向左,右缩进一个单位长度 |
| ^Kc1c2 or c1←c2 | 输入复合字母**\c1,c2** |
| ^Oc | 临时在命令模式运行命令c |
| ^X^E ^X^Y | 向上,下滚动 |
| or ^[ | 取消编辑进入编辑模式 |
| key | description |
| "x | 对下个删除,复制,粘贴操作指定寄存器x |
| :reg | 显示所有寄存器的内容 |
| :reg x | 显示寄存器x的内容 |
| ym | 复制到移动命令m处 |
| yy or Y | 复制当前行到寄存器 |
| p P | 在光标之后,之前粘贴寄存器内容 |
| ]p [p | 同p,P并自动缩进 |
| gp gP | 同p,P并把光标置于新文本后 |
| key | description |
| g?m | 到移动命令m处执行rot13编码 |
| n^A n^X | 光标处数字**+n,-n** |
| gqm | 格式化到移动命令m的行来修复宽度 |
| :rce w | 从范围r到宽度w的中间行 |
| :rle i | 范围r缩进i的左对齐的行 |
| :rri w | 范围r到宽度w的右对齐的行 |
| !mc | 通过命令c过滤到移动命令m处 |
| n!!c | 通过命令c过滤n行 |
| :r!c | 通过命令c过滤范围r行 |
tags: #vim