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