用vim也有一段时间了,谨以此记下一些有意思的技巧。
- 跳转
- hjkl,左下右上。
- b/e跳转到上/下一个单词
- ^/$跳转到行头/尾
- 从{,[,(,相应的},],)相互跳转。能够用%
- 跳转到局部变量的定义gd,跳转到全局变量的定义gD
- 跳转到上一个改动过的地方 g; 注意是g+分号
- 跳转到下一个改动过的地方 g, 注意是g+逗号
- :N ,跳转到N行
- 匹配的符号('', "", (), {}, [], <>)操作
- ci?,di?,yi?,?为上述的匹配符号。则能够改动,剪切,复制。当中的内容。不包含?
- ca?,da?,ya?,?为上述的匹配符号。则能够改动,剪切,复制。当中的内容,包含?
- 举个样例,删除()的内容不包含括号,仅仅须要di?
- 复制一个字符串"abcde",仅仅须要光标移到当中,ya"
- 缩进代码
- 自己主动缩进 =,假设从头到尾缩进就是gg=G
- 指定区域缩进 >,< ,能够配合可视模式,C-v进入批量操作缩进。
- 折叠函数
- 移动到{,zf%。
- 折叠还能够zfN,这样就能够折叠N行
- 打开折叠,zo
- 实用的替换
- 最基础的替换 :A,Bs/X/Y/g ,从A行到B行,将X替换成Y,没有g仅仅替换每行的第一个。
- 全局替换: %s/X/Y/g
- 删除仅仅有另个以上空格的空行 :g/^s*$/d
- 删除行尾的空格 :%s= *$==
- 批量凝视
- Ctrl-v 进入可视模式。之后I(shift I),插入凝视符。再按Esc(基本功)
- 从A到B行最左边增加凝视 :A,Bs/^/#/ (python,php,shell等等),可是。凝视都插在最左边
- 从A到B行第一非空字符前插入凝视 :
- %s/([^ ]+)/#1/
- :%s/[[:graph:]]@=/#
- 搜索
- 自光标向前搜索 /pattern
- 自光标向下搜索 ?pattern
- 仅搜索行首,/^pattern,或者行尾/pattern$
- 自光标向前搜索光标所在单词 #
- 自光标向后索索光标所在单词 *
- 另外。搜索的。跳转到前一个N,下一个n。
- 关闭高亮是 :noh
- 好用的多标签
- 开启多标签 tabe 文件名称字
- 移动到下一个tab,gt或者:tabn
- 移动到上一个tab,gT或者:tabp
- 移动到第n个标签, n gt ,注意n gt间要由空格
- 关闭标签 tabc,用退出也能够
- 另外多窗也是非常好用的在启动时候 vim -O2 file1 file2 ,注意是字母O,不是数字
- 有趣的计算器
- 在插入模式时候,按Ctrl r =,输入表达式,就会在光标上出现了。
- 推荐一些有趣的站点
- 配置插件的好站点: http://vimawesome.com/
- 一个入门,练习操作的好站点: http://www.openvim.com/
- 很多其它的待补充