《Vim实用技巧(第2版)》学习笔记:技巧68-在连续的文本行上重复修改

技巧68-在连续的文本行上重复修改

  • 对于多行范围内的重复性改动,可以先录制一个宏。然后再在没一行上回放,这将会极大减轻我们的工作量。
  • 该功能可用串行或并行两种执行宏的方式实现。

demo1

  • 目标文本
1. one
2. two
3. three
4. four
  • 转换后的文本
1) One
2) Two
3) Three
4) Four

录制工作单元。

  • 先在第一行上做出修改,并将其录制下来。
qa 开始录制宏保存到a寄存器
0f. 将光标先放在行首,查找.符号
r) 将.替换成)
w~ w移动大下一个单词的首字母 ~大小写反转
j 跳转到下一行
q 结束宏录制
3@a 调用宏3次。
  • 并行方式1:使用可视模式选择选区。
VG: normal @a
  • 并行方式2:使用行号指定范围执行宏命令。
:2,4 normal @a

demo2

  • 目标文本
1. one
2. two
//test
3. three
4. four
  • 转换后的文本
1) One
2) Two
//test
3) Three
4) Four
  • demo2如果使用demo1中的串行方式允许到test相应行就会出错,这个时候需要用并行方式。

决策:串行还是并行?

  • 串行或者并行,哪种方式更好呢?答案是看情况。
  • 以并行的方式在多处执行更为健壮。
  • 如果在执行时遇到一处错误,而我们正想利用这些警告更正错误时,以串行、多次的方式执行宏可以更容易定位出问题所在。
  • 在掌握这2种技术后,可以自己判断在哪种情况下应该使用哪种方式了。
  • 串行,失败演示:
    在这里插入图片描述
  • 并行,使用指定行号的方式:
    在这里插入图片描述
  • 并行,使用可视模式:
    在这里插入图片描述

总结

  • 基础知识点回顾
    • qa 录制宏保存在a寄存器
    • q结束录制宏
    • 3@a 3次调用寄存器a里面的宏
    • 0跳到行首
    • f. 查找字符.
    • r) 替换当前字符为)
    • w 向前移动一个字符
    • ~ 字符大小写反转
    • j 向下移动一行
    • :2,4 normal @a 底行模式在2到4行执行命令寄存器a中保存的宏
    • VG 进入可视模式选择行从当前行到最后一行
  • 使用串行还是并行,具体看情况而定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打杂程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值