VIM宏初体验

622 查看

第一次知道宏这东西是在word里面,经常莫名其妙弹出一个框说宏xxxxx,完全不明所以。那时候只知道有宏那么个东西,至于他是干嘛的,压根不知晓。

第一次用宏还是在玩WOW的时候,那时候流行在动作上加上一些个性化喊话,比如一键上马宏(别问我马红是谁。。。),法师拉餐桌吐槽宏等。一个高端的玩家离不开各种各样的红。

/Y 上马不喊话 三开战猎萨
/Cast [flyable]鸟的名称;[noflyable]马的名称
 /y 别拿那种眼神看着我!我知道你们在想些什么,但天天搓水做饭的时代已经过去了。你们真以为我会把精力花在那种又苦又累又无聊的工作上?
 /y 噢,显然不会,我只是顺手而已,那只不过是我无数技能中的一个小把戏!我最强大的技能是这个,而且这一次 显然不会有人点我交易了!
 /cast 召唤餐桌

这个时候大概就知晓宏是什么玩意了。

我们来看下百度百科里对宏是怎么介绍的:

所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。计算机科学里的宏(Macro),是一种批量批处理的称谓。

所以宏=批处理。到了VIM里面,就是希望通过宏能提高我们处理的效率,降低我们的操作量。

在VIM里面,宏是存放在寄存器里面的。在准备好要录制时,按 q{register},状态栏就出现recording字样表示已经开始录制,这之后我们执行的每一条命令都将被捕获存进我们自定义的register中,当再一次按 q的时候,录制就结束。

我们可以通过 :reg 查看所有寄存器里的内容,也可以通过 :reg {register}查看单个。

我们具体看一个例子:

xiaoming
xiaohong
dingding
dongdong
liuliu
lulu

原始内容是这样的,我们现在想在每一行前面加上 name: 。

在普通模式下,我们将光标移到第一行gg,然后按qa(表示存在名为a的寄存器里)开始录制,按Iname: 在第一行行首插入的文字,然后按q结束录制。到这宏就制作完成了,就这么简单。就好像WOW里的上宏,/y喊话加上/cast施法,宏就完成了,然后需要玩家点击图标取触发他就好。 同样我们也要在VIM里来触发宏, 移动鼠标到第2行,然后按VjG,选中剩余所有文字,按 :normal @a ,神奇的事发生了,每一行的行首都加上了 name: 。这里的@a的意识就是执行指定寄存器里的内容,也就是我们做好的宏。

用mac自带QuickTime Player录制了一个.mov的屏幕录像,不知道怎么传上来。/(ㄒoㄒ)/~~

求推荐好用的屏幕录制工具,最好能直接录成动态图的。

宏 初体验就到这里~

2016年09月28日15:01:37
补充:

http://www.cockos.com/licecap/ 录制的,非常方便的录屏工具。