Vim实用技巧——持续更新
普通模式
- u undo
reundo 操作符+动作命令=操作
操作符单独不可用,像c(change)、d(delete)、y(复制),:h operator可以查看所有的有限操作符;: h :map-operator查看如何自定义操作符
C重写当前位置到行尾,=c$
- D删除当前到行尾,=d$
- y有点不同,Y=yy复制整行
- cb/db/yb改变删除或复制当前单词到光标处前
- caw/daw/yaw替换删除或复制光标所在单词+后边的空格
- cc 重写当前行
- dd删除当前行
-guaw/gUaw/g~aw改变当前单词的大小写(全部变)
复合命令
- A=$a
- I=^i
- S重写当前行,=cc=^C
- s当前字符替换成一个字符串,=cl
- .重复上次修改(微型宏)
宏
- qx{operations}q录制宏
- @x进行宏的执行(.不能重复宏的执行,只能重复最近的一次修改)
插入模式
删除前一个单词 删除至行首 - <c-[>切换到正常模式,代替esc
切换到正常模式执行后返回 复制寄存器的内容 =计算的值插入当前光标处 替换模式
- R,或者Insert键
可视模式
V/行和列选
gv选中上次的区域
o切换高亮选区的活动端场景
- 查找/替换
f/F单行查找
- ;顺着方向查
- ,逆着方向查
/string全局查找,或:/string - n/N
全局替换
:%s/olds/news/g
手动遍历替换(完整匹配单词)1
2
3
4*(完整匹配光标所在单词)
选择性的cw
n
.
- 若干行尾部加同样的东西,如;
1 | $ |
- 调整代码格式
/</=缩进(操作符)
/<</==缩进当前行
G/<G/=G缩进当前行到尾行- 拼接字符串的‘+’变为‘ + ’
1 | f |
- 注释
安装commentary.vim 插件,提供了gc操作符
gcc注释当前行
gcG
gcap
- 数字运算
/ 对当前光标下或其后的第一个数字执行减减或加加 - 5
/ = -5/+5 - Insert mode
=插入运算结果到当前位置
- 写作
- zz调整当前行到屏幕中央,c-o zz
- 划线
- 横线
yyp
Vr- - 竖线
9j
r|