利用键盘宏(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 @ |