普通操作符
在普通模式下,最常用的操作符命令如下
操作符命令 | 说明 |
---|---|
c | 修改 |
d | 删除 |
y | 复制到寄存器 |
例如,在普通模式下,ciw
可以修改一个单词,daw
可以删除一个单词,yiw
可以复制一个单词到寄存器。
大小写操作符
操作符 | 说明 |
---|---|
gu | 转化为小写 |
gU | 转化为大写 |
g~ | 大小写相互切换 |
使用IDE写代码时,常量名通常会全部大写,但是呢,我在写代码的时候,通常在刚开始会把常量名全部小宝,然后通过快捷键转换为大写,这样就不用来回切换大小写。
如果用Vim写代码,gu
/gU
就是大小写转换的快捷键,例如guiw
/gUiw
可以把当前单词转换为小/大写。
g~
操作符是进行大小写转换,举个例子,通过g~iw
可以把Hello
转化为hELLO
,小写字母变为大写,大写字母变为小写。
缩进操作符
操作符 | 说明 |
---|---|
> | 向右缩进 |
< | 向左缩进 |
如果操作符命令使用两次,那么它的作用对象就是面向行的。例如dd
删除光标所在的行。
缩进操作符都是以行为单位进行操作的,因为如果你想对某一行进行缩进,最快的方式就是双击操作符命令即可,例如>>
会把当前行向右进行缩进。
但是在实际中,如果我们面临一堆格式非常不好的代码块,如果使用>>
或者<<
对每一行进行缩进,那么工作量是巨大的,即使我们可以使用点号(.
)来重复执行缩进命令。
那么有没有办法解决这个问题呢?当然有,首先我们得确保equalprg
设置项为空,其实默认是为空的,这样等于号(=
)操作符代表的就是C语言式的缩进。如下图所示
可以看到,使用=
就可以很方便格式化杂乱无章的代码,so easy.
小窍门
当使用再次操作符时,操作的对象将变为行,例如dd
删除当前行,yy
复制当前行。