如何在Emacs中为命令序列设置单键绑定
Emacs手册只有一个为单个命令设置绑定的示例。如何对一系列命令执行此操作。具体如下如何在Emacs中为命令序列设置单键绑定,emacs,emacs24,Emacs,Emacs24,Emacs手册只有一个为单个命令设置绑定的示例。如何对一系列命令执行此操作。具体如下 [M-down]至[C-u 1 C-v] [M-up]至[C-u 1 M-v] 这实际上是单行滚动。您可以用于该任务。该链接基本上解释了如何操作,为了完整起见,以下是操作方法: 点击C-x(开始录制键盘宏 执行命令应该执行的操作(即执行命令、点击键等) 点击C-x)停止录制键盘宏 执行M-x name last kbd macro以命名上次定义的键盘宏(即刚才定义的键盘宏) 执行M-x insert kbd
- [M-down]至[C-u 1 C-v]
- [M-up]至[C-u 1 M-v]
C-x(
开始录制键盘宏C-x)
停止录制键盘宏M-x name last kbd macro
以命名上次定义的键盘宏(即刚才定义的键盘宏)M-x insert kbd macro
要在点处插入最后定义的宏的代码,请将其复制到计算机中(全局设置键(kbd“M-n”)'我的宏)
放入(假设您将宏命名为我的宏
)C-v
:C-hkc-v
。答复:C-v运行命令scroll up命令,这是一个交互式命令
在window.el中编译Lisp函数。
它绑定到C-v。
(向上滚动命令和可选参数)
向上滚动所选窗口的文本参数行
C-u 1在这里做什么?告诉C-v
向上滚动1行
因此,您希望调用向上滚动命令
,并向其传递一个1:(向上滚动命令1)
的ARG
如何定义自己的命令来执行此操作
(defun my-scroll-up-1-line ()
"Scroll up one line."
(interactive)
(scroll-up-command 1))
请参阅Elisp手册,节点
并将其绑定到M-n
(global-set-key (kbd "M-n") 'my-scroll-up-1-line)
请参阅Emacs手册,节点
为命令序列定义键绑定的解决方案是
下文提供。总结如下:
- 创建具有指定名称的键盘宏
- 向上滚动步骤:C-u 1之前
- 向上滚动步骤:C-u 1下一步
- 将宏绑定到组合键
- M-
(全局设置键(kbd“M-”)(kbd“C-u 1”)
会更简单,但不一定更好。
<F3>
C-u 1 next
<F4>
C-x C-k n scroll-down-step
M-x insert-kbd-macro RET scroll-up-step RET
M-x insert-kbd-macro RET scroll-down-step RET
(global-set-key (kbd "M-<up>") 'scroll-up-step)
(global-set-key (kbd "M-<down>") 'scroll-down-step)
(global-set-key (kbd "\e <up>") 'scroll-up-step)
(global-set-key (kbd "\e <down>") 'scroll-down-step)