利用键盘宏(Macro),可以录制一组命令,然后重复执行。
假设需要对以下文字,进行下列处理:
tansen is the singer daswant is the painter birbal is the wazir
显然,手工重复完成这些操作是相当繁琐和费时的,而使用宏则会非常高效。
qa命令,开始录制宏a;gUl命令,将首字母转换为大写;w命令,移动到下一单词;cw命令,修改单词;A命令,在行尾添加文字;q命令,完成录制宏;宏录制的命令序列,将被存储在指定的寄存器(Regists)中。使用以下命令,可以查看宏的内容:
:register a
在完成一行的修改并录制宏后,就可以使用宏快速完成其它行的处理了:
j命令,移动到下一行;0命令,移动到首字母;@a命令,执行宏a;我们还可以在执行命令前加上数字,比如3@a,来告诉vi执行几次宏。
通过重新录制宏,可以覆盖当前宏的内容。例如,使用qaq命令,将清空宏a的内容;使用以下命令,也可以将宏a置为空:
:let @a = ''
q | 录制宏 | :help q |
@ | 执行宏 | :help @ |