本节书摘来自异步社区《Vim实用技巧(第2版)》一书中的第1章,第1.6节,作者:【英】Drew Neil(尼尔)著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.6 认识 . 范式
到目前为止,我们介绍了3个简单的编辑任务。尽管每个问题都不一样,不过我们都找到了用 . 命令解决该问题的方法。在本节,我们将比较这些方案,并找出它们共有的模式——一个我称之为“ . 范式”的最佳编辑模式。
回顾前面3个 . 命令编辑任务
在技巧2中,我们想在一系列行的结尾添加分号。我们先用 A;<Esc>
修改了第一行,做完这步准备后,就可以使用 . 命令对后续行重复此修改。我们使用了 j 命令在行间移动,要完成剩余的修改,只需简单地按足够多次 j. 就可以了。
在技巧3中,我们想为每个 + 号的前后各添加一个空格。先用 f+ 命令跳到目标字符上,然后用 s命令把一个字符替换成3个,做完这步准备后,就可以按若干次 ;. 完成此任务。
在技巧5中,我们想把每处出现单词“content”的地方都替换成“copy”。使用 * 命令来查找目标单词,然后用 cw 命令修改第一处地方。做完这步准备后,就可以用 n 键跳到下一匹配项,然后用 . 键做相同的修改。要完成这项任务,只需简单地按足够多次 n. 就行了。
理想模式:用一键移动,另一键执行
所有这些例子都利用 . 命令重复上次的修改,不过这不是它们唯一的共同点,另外的共同点是它们都只需要按一次键就能把光标移到下一个目标上。
用一次按键移动,另一次按键执行,再没有比这更好的了,不是吗?这就是我们的理想解决方案。我们将会一次又一次地看到这一编辑模式,所以为了方便起见,把它叫做“. 范式”。