Vim Macros

参考资料:

  1.  vim.wikia.com

  2.  stackoverflow


  • 如何录制宏:

每个寄存器都是按a到z来定义的。

在命令行模式下,输入q来触发宏录制,输入q来退出宏录制。

格式为:

q<letter><commands>q

如需执行多次,可以按如下格式输入:

<number>@<letter>

完整的宏看起来应该是这样的:

qd 开始录制宏,记为寄存器 d
... 你可以在 vim 里进行各种操作
q 按下q ,停止录制
@d 执行你录制的宏 d
@@ 再次执行你刚刚录制的宏
  • 如何使用宏:

    给个例子:

如果有如下这些文字:

one	first example
two	second example
three	third example
four	fourth example

你想把它处理成这样的效果:

data = {
    'one': 'first example',
    'two': 'second example',
    'three': 'third example',
    'four': 'fourth example',
}

接下来将告诉你如何实现:

  • 光标移至第一行的第一个字母

  • 按下q,然后按下任何一个字母来作为宏的名字,如d,然后你能看到下面的记录中字眼
  • 输入如下命令,将当前行的空白部分替换为':'
  • :s/\s\+/': '  (然后按下Enter)
  • 在行首添加'
  • I    '   (然后按下Esc)
  • 在行尾添加 '
  • A ' (然后按下Esc)
  • 跳到下一行行首
  • 0 j
  • 再次按下 q ,结束宏录制,至此一个简单的宏就录制成功了。
  • 你肯定迫不及待想开始尝试了,对,就是这样:
  • 上面的命令结束后,光标一定停在第二行行首,这时不要移动光标,按下@d ,就可以改变第二行,你继续按,可以按@@,就能改变了第三行。
  • 当然,如果老是一行一行按,也是挺麻烦的,教你一个更简单的方法:按下2@d ,就可以完成两次宏的操作,即改变两行,2即是执行宏的次数,你可以任意更改成其他数字,如100......
  • 如何删除宏:

好了,既然宏这么好玩,为什么还要删掉它呢?其实这纯粹是我的强迫症,我第一次录完宏,就立马找教程删宏了,好了,废话不多说,教你怎么删掉刚才录制的宏 d

直接输入一下命令:

:let @d=''

这个命令可以把宏寄存器d清空。当然,清空貌似没什么意义,因为如果你重新录制的一个新的宏,但名字还是叫d,那么你原来录制的东西就会被覆盖掉,取而代之的是新的宏。

转载于:https://my.oschina.net/linuxjd/blog/312847

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值