5.14. 技巧12——合并与征服——初识操作符挂起模式
5.14 技巧12——合并与征服——初识操作符挂起模式
正常,插入和视觉模式很容易辨别出来,但 Vim 还有其它容易忽视的模式。操作符挂起模式就是一个明证,我们每天使用它很多次,但是它通常只持续几分之一秒。比如运行命令 dw 的时候,就会调用它。它在按下 d 和 w 键之间的简短间隙存在,一眨眼就会错失掉它。
如果我们将 Vim 想象为一个有限状态机,那么操作符挂起模式就是一个只接受移动命令的状态。当我们调用一个操作符命令时它被激活,然后什么都不会发生直到我们提供了一个移动,它完成了这个操作。当操作符挂起模式激活时,可以按 <Esc> 终止操作,来以通常的方式返回正常模式。
许多命令都是用两个或多个键击来调用的(比如,查阅 :h g ⓘ,:h z ⓘ,:h ctrl-w ⓘ,:h [ ⓘ),但是在大多数情况下,第一个键击仅仅作为第二个的前缀,这些命令不会开启操作符挂起模式。相反,我们可以将它们认为是扩展可用命令映射数量的命名空间。只有操作符命令才开启操作符挂起模式。
你可能会想,为什么会有一整个模式专门针对在调用操作符和移动命令之间的那些简短瞬间呢,而有命名空间的命令只是正常模式的一个扩展?这是个好问题。因为我们能创键开启或瞄准操作符挂起模式的自定义映射。换句话说,它允许我们创建自定义的操作符和移动。这反过来让我们扩展 Vim 的词汇量。