Vim实用技巧——持续更新

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切换高亮选区的活动端

    场景

  1. 查找/替换
    f/F单行查找
  • ;顺着方向查
  • ,逆着方向查
    /string全局查找,或:/string
  • n/N
    全局替换
    :%s/olds/news/g
    手动遍历替换(完整匹配单词)
    1
    2
    3
    4
    > *(完整匹配光标所在单词)
    > 选择性的cw
    > n
    > .
  1. 若干行尾部加同样的东西,如;
1
2
3
4
5
6
7
8
9
> $
> c-v
> 移动来选中行(eg.5j)
> A
> ;
> esc

同样的行首加
> ^;c-v;移动来选中行;I;<head>;esc;
  1. 调整代码格式
  • /</=缩进(操作符)

    /<</==缩进当前行
    G/<G/=G缩进当前行到尾行

  • 拼接字符串的‘+’变为‘ + ’
1
2
3
4
5
6
7
> f
> +
> s
> space + space esc
> **;**
> .
> ;.
  • 注释
    安装commentary.vim 插件,提供了gc操作符
    gcc注释当前行
    gcG
    gcap
  1. 数字运算
  • / 对当前光标下或其后的第一个数字执行减减或加加
  • 5/ = -5/+5
  • Insert mode =插入运算结果到当前位置
  1. 写作
  • zz调整当前行到屏幕中央,c-o zz
  1. 划线
  • 横线

    yyp
    Vr-

  • 竖线

    9j
    r|

坚持原创技术分享,您的支持将鼓励我继续创作!