定义Emacs宏计数器的步长

时间:2015-10-30 13:17:50

标签: emacs macros counter

我喜欢Emacs键盘宏功能,我正在使用它。

有时,我不想只是静态地输入某些键盘宏,但是应该有一个值会在其间发生变化。有Emacs宏计数器(Macro counters in Emacs Manual)的功能。

问题是这个计数器总是只计算一个。有没有办法指定步进尺寸(即在每一步中向前移动4)?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您可以使用绑定到 C-x C-k C-a kmacro-add-counter。 例如,要向计数器添加3,请使用 M-3 C-x C-k C-a

小例子:<f3> <f3> RET M-3 C-x C-k C-a <f4> <f4> <f4> <f4>将产生:

0
4
8
12

kmacro

的替代方案

有时,您可以使用tiny来执行此操作 kmacro在更少的击键次数和更好的撤消上下文中的作用。

上面的例子可以通过输入:

生成
m\n3*x4

并按下tiny-expand的快捷方式。我像这样绑定它:

(global-set-key (kbd "C-;") 'tiny-expand)

这里,m\n3基本上意味着由换行符(\n)连接的4次重复(索引从0开始)。 *x4是Elisp (* x 4)的缩写。