Vim Basic Notes
Normal 模式命令
重复命令
.
微型宏: 重复上一次(插入命令 至 <Esc>
)录制动作
;
重复 t/T/f/F
@
命令 | 作用 |
---|---|
@{register} | 重复寄存器中的宏命令 |
@: | 重复任意 Ex 命令 |
@@ | 重复@命令 |
:&
重复:substitute
撤销命令
目的 | 操作 | 重复 | 回退 |
---|---|---|---|
做出一个修改 | {edit} | . | u |
在行内查找下一指定字符 | f{char}/t{char} | ; | , |
在行内查找上一指定字符 | F{char}/T{char} | ; | , |
在文档中查找下一处匹配项 | /pattern<CR> | n | N |
在文档中查找上一处匹配项 | ?pattern<CR> | n | N |
执行替换 | :s/target/replacement | & | u |
执行一系列修改 | qx{changes}q | @x | u |
复合命令
插入
复合命令 | 等效的长命令 |
---|---|
C | c$ |
s | cl |
S | ^c |
I | ^i |
A | $a |
o | A<CR> |
O | ko |
编辑命令
Operator and Motion
操作符命令 + 动作命令 (范围), Operator + {Motion}
:
:h operator. :h :map-operator.
- 操作符命令: 基本编辑命令
命令 | 作用 |
---|---|
c | 修改 |
d | 删除 |
y | 复制到寄存器 |
g~ | 反转大小写 |
gu | 转换为小写 |
gU | 转换为大写 |
> | 增加缩进 |
< | 减小缩进 |
= | 自动缩进 |
! | 使用外部程序过滤 {motion} 所跨越的行 |
- 动作命令:
a
(all)/i
(in)/t
(til).
e.g $
/2l
/aw
/ap
或 /patterns
.
- 模式串:
/patterns
. 0
/$
: 行首/尾.- 文本对象:
i
/a
. - 分隔符文本对象 (separator text objects).
分隔符文本对象 | 选择区域 |
---|---|
a) 或 ab |