VIM 中的重复操作与高效率

Vim 会记录最近执行的操作,对重复性操作进行了优化,让我们用一次按键就能重复上次的工作,这是我认为Vim被称为高效率编辑器的重要原因之一 (Edit Text at the speed of thought)。

  1. vim重复操作命令所介绍,Vim普通模式下的 . 命令可以用于重复上次的修改,这里提到的修改对象可以是字符、整行,甚至是整个文件,按 u 回退操作。

  2. . 命令不会重复由 Vim 命令行中做出的修改,若需要重复执行上次的 Ex 命令只需按 @: 即可。@: 命令其实是用到了 : 寄存器: 寄存器总是保存着最后执行的命令行命令 (参见 :h quote_:)。

  3. 在运行过一次 @: 后可以用 @@ 命令来重复执行上次的 Ex 命令,但无直接的回退方式。

  4. 普通模式下可以使用命令 & 重新执行上次的Vim替换操作 :substitute,按 u 回退操作。

  5. Vim普通模式下的 ; 命令会正向重复查找上次 f 命令所查找字符,按 , 回退光标位置。

  6. Vim普通模式下的 n 命令在Vim缓冲区中重复查找下一处匹配项,按 N 回退光标位置。

  7. Vim宏可通过录制操作序列到某个Vim寄存器 a 中,然后使用命令 @a 回放录制的宏,实现重复操作一系列修改,用 @@ 重复最近调用过的宏,按 u 回退操作。
    Vim宏

  8. gv 命令可以用于重选上一次由可视化模式选择的文本范围,按 Esc 退出可视化模式。

  9. 很多Vim Ex 命令(即Vim命令行命令)可以用行号、位置标记或是查找模式来指定要执行操作的开始位置及结束位置,实现一条命令同时操作多行。

  10. Vim命令行命令 global 允许在某个指定模式的所有匹配行上运行 Ex 命令,而 normal 命令允许在Vim命令行模式下对指定范围内的每行执行普通模式下的操作,均可用于高效完成Vim下的重复操作,更多内容可以参看Vim global命令和重复操作 以及 Vim normal命令

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!