使用参数定义键绑定

时间:2013-02-11 02:42:17

标签: emacs elisp

我想将C-f C-b映射为文件中固定数量的行向前和向后移动。

我这样做了:

(global-set-key (kbd "C-f") 'next-line)
(global-set-key (kbd "C-b") 'previous-line)

但我不知道如何在next-line命令之前指定参数。我想我应该使用digit-argument,但我无法以正确的方式编写命令。

2 个答案:

答案 0 :(得分:12)

您已将问题更改为如何直接绑定到关键序列

这将 C-c l 绑定到 C-u 5 C-n

(global-set-key (kbd "C-c l") (kbd "C-u 5 C-n"))

答案 1 :(得分:7)

可能的替代方案之一是定义一个新功能:

(defun my-next-line ()
  (interactive)
  (next-line 5))

(global-set-key (kbd "C-f") 'my-next-line)

否则,如果只是您可以使用键盘完成的事情,则可能需要使用

M-x name-last-kbd-macro

并将其保存在.emacs文件中

M-x insert-kbd-macro

并让emacs为您实现该功能。 它只会获得您在调用name-last-kbd-macro

时给出的名称