5.10. 技巧11——能重复就不要数数

未匹配的标注

5.10 技巧11——能重复就不要数数

通过提供一个数,可以最少次化执行特定任务所需的键击。但是这并不意味着应该这么做,考虑数数 vs 重复的优缺点。

假如在缓存中有下面这段文字。

Delete more than one word.

像文字说的那样做,把它改为读作 “Delete one word”。那就是说要删掉两个单词。

有几种办法可以达到目的 ,d2w2dw 都可以。d2w 调用删除命令,然后将 2w 作为动作。可以读作“删除两个单词”。然而 2dw 使用了另一种方法。这一次这个数字2应用于删除命令,但是这个动作只针对一个单词,可以读作“删除一个单词,删两次”。把语义学抛开,两种方法都得到了同样的结果。

现在考虑另外一个方法, dw.。这个可以读作“删除一个单词,然后重复”。

概括一下,有如下选项: d2w2dw 或者 dw.——都是三次键击。那么哪一个是最好的呢?

对讨论而言, d2w2dw 是等同的,在运行这两个当中任何一个后,可以按 u 键来撤销,被删除的两个单词都会重新出现。或者,可以用点命令重复更改,它删除接下来的两个单词,而不是撤销它。

dw. 的情况下,按 u 或者 . 的结果有微妙地不同。这里,更改是 dw——“删除单词”。所以如果想恢复被删除的两个单词,不得不撤销两次按 uu (或者 2u,如果你喜欢这样的话),按点命令将值删除下一个单词,而不是下两个单词。

现在假设不是删除两个单词,原来的想法是要删除三个单词,但是因为一点小的判断错误,运行了 d2w 而不是 d3w

下面该怎么办?不能使用点命令,因为那将造成总共四个单词被删除。所以要么撤销,修改我们的计数(ud3w) 或者删除下一个单词 (dw) 来继续。

换句话说,如果使用了命令 dw., 将只需要再重复一次点命令。因为我们原来的改变是简单的 dw,命令u. 有更多的粒度。每个动作一次只针对一个单词。

现在假如想删除7个单词,可以运行 d7w 或者 dw......。(那就是说 dw 跟着6次点命令)。考虑键击数量的话,我们有了一个明显的赢家。但是你能相信自己数正确吗?

数数是枯燥的,我宁愿按6次点命令,而不是花时间去提前数来减少按键的次数。如果按多了应该怎么办?没关系,只需要按一次 u 键就回来了。

记住我们的口号(见 技巧4,行动,重复,逆转):行动,重复,逆转。下面是实际操作。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~