Vim奇淫技巧

Vim是很牛B的编辑器,和普通编辑器不同的是它支持command模式,这让我们使用键盘编辑的效率大大提高。如果你还没有安装Vim或者还没敢使用它,那就赶快去试一下,你会发现它真的是有那么神奇。下面是我收集的一些Vim技巧,还会不断增加一些。

  • 查看当前字符的内部编码

ga (先按g再按a)

  • 转换大小写

~ (转换当前光标处的字符,如果想转换多个字符,可以用visual模式选择后按~键),guu转换当前行为小写,gUU转换当前行为大写。

  • ZZ保存退出,ZQ不保存退出

  • Vim寄存器

可以通过:reg命令查看寄存器中的内容,要取出寄存器中的内容或将内容存入寄存器,可以使用"寄存器名+命令。
比如"ap是将寄存器a中的内容拷贝到当前光标处。

  • %跳转到匹配的括号处

    这个命令在函数或者代码块使用很方便,可以清除地看到括号是否匹配,而跳转也很迅速。

  • w, b, e, ge将光标一次移动一个单词

  • 配合使用数字

    在命令前带数字表示命令执行的次数,比如2dd表示删除2行,3w表示移动3个单词

  • f 在当前行查找指定字符

    比如fa表示将光标移动到a字符

  • 合并两行

    J (大写J)

  • 缩进

    要增加当前行缩进,只需按一下>,与之对应的<表示减少缩进。

  • 撤销当前操作

    u, 返回撤销是Ctrl + r

  • 当前数字加1,或减1

    CTRL-a,CTRL-x

  • 自动格式化
    =

  • 宏录制

    q[a-z],比如输入qa则表示开始录制
    举一例:实现如下效果:从1到100,每行+1。

1
2
3

100
命令:首先在第一行插入1,然后光标定位了“1”处,进入normal模式,开始录制:qmyypaq,(解释:yyp:拷贝一行再粘贴在新的一行,a:数字+1)后然执行98@m,收工。
如果要将这100行合并,只需按v键进入visual模式,选中这100行(ggVG)并按J键即可。