《Vim实用技巧(第2版)》学习笔记:技巧12-双剑合璧,天下无敌

《Vim实用技巧(第2版)》学习笔记:技巧12-双剑合璧,天下无敌

1. 操作符 + 动作命令 = 操作

  • d{motion}命令可以对一个字符、一个完整单词或一整个段落进行操作,它作用的范围是由动作命令决定的。

  • c{motion},y{motion}等被统称为操作符(operator)

  • g、gu、gU命令要用两次按键来调用,g被当做前缀字符,用以改变其后面的按键行为。

  • Vim的语法只有一条额外规则,即:当一个操作符命令被连续调用2次时,他会作用于当前行。例如:

    序号 命令 用途
    1 dd 删除当前行
    2 cc 删除当前行并进入插入模式
    3 yy 复制当前行
    4 >> 缩进当前行
    5 = = 当前行自动缩进
    6 gUgU(gUU) 当前行全转大写
    7 gugu(guu) 当前行全转小写
    8 g~ g~(g ~ ~) 当前行大小写反转
  • Vim的操作符

    命令 用途
    c 修改
    d 删除
    y 复制到寄存器
    g~ 反转大小写
    gu 转换为小写
    gU 转换为大写
    > 增加缩进
    < 减少缩进
    = 自动缩进
    ! 使用外部程序过滤{motion}所跨越的行

2. 自定义操作符与已有动作命令协同工作

  • Tim Pope的commentary.vim,此插件为Vim支持的编程语言增添了注释以及取消注释的命令
    命令 含义
    gc{motion} 切换指定行的注释状态
    gcap 切换当前段落的注释状态
    gcG 注释当前行到文件结尾
    gcc 注释当前行

3. 自定义动作命令与已有操作符协同工作

  • Kana Natsuno 的textobj-entire插件,新增2种文本对象:ie和ae。那么gg=G 就可以用=ae替换了

4. 操作符待决模式

  • 在命令dw中,输入d但没有输入w的短暂时间间隔就是操作符待决模式。
  • Esc结束操作符待觉模式

5. 总结

  • 认清Vim一个操作的组成可以帮助我们理解Vim的操作原理,方便我们扩展我们的命令。
  • Vim的操作符要多练习。
  • commentary.vim插件很好用,推荐安装~~
  • 欢迎留言一起学习讨论!

你可能感兴趣的:(vim)