星期四, 三月 31, 2011

VIM学习笔记 宏(Macro)

利用键盘宏(Macro),可以录制一组命令,然后重复执行。

假设需要对以下文字,进行下列处理:

tansen is the singer
daswant is the painter
birbal is the wazir
  1. 将每行的首字符大写;
  2. 将"is"改为"was";
  3. 在每行结尾增加 "in Akbar's court."

显然,手工重复完成这些操作是相当繁琐和费时的,而使用宏则会非常高效。

录制宏

  1. 进入常规模式;
  2. 将光标移动到第一行的第一个字母上;
  3. 执行qa命令,开始录制宏a;
  4. 执行gUl命令,将首字母转换为大写;
  5. 执行w命令,移动到下一单词;
  6. 执行cw命令,修改单词;
  7. 输入“was”;
  8. 点击Esc键,返回常规模式;
  9. 执行A命令,在行尾添加文字;
  10. 输入“in Akbar's court”;
  11. 点击Esc键,返回常规模式;
  12. 执行q命令,完成录制宏;

查看宏

宏录制的命令序列,将被存储在指定的寄存器(Regists)中。使用以下命令,可以查看宏的内容:

:register a

macro_register

执行宏

在完成一行的修改并录制宏后,就可以使用宏快速完成其它行的处理了:

  1. 执行j命令,移动到下一行;
  2. 执行0命令,移动到首字母;
  3. 执行@a命令,执行宏a;

我们还可以在执行命令前加上数字,比如3@a,来告诉vi执行几次宏。

删除宏

通过重新录制宏,可以覆盖当前宏的内容。例如,使用qaq命令,将清空宏a的内容;使用以下命令,也可以将宏a置为空:

:let @a = ''

命令小结

q录制宏:help q
@执行宏:help @

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期日, 三月 20, 2011