Emacs 多键盘快捷键

Emacs 多键盘快捷键,emacs,key-bindings,Emacs,Key Bindings,我正在尝试创建一个组合键绑定 下面是一个例子: (define-key my-minor-mode-map (kbd "x f") "\C-x\C-f") (编辑:感谢Stefan指出\C-x和\C-f之间的空格。) 然而,这将我带到一个随机文件,描述键说: Macro: C-x C-f Keyboard macro. 所以我不确定这是什么意思。 似乎尝试将s绑定到C-s也不起作用(以及其他交互命令,如C-r和M-x) 这确实有效: (define-key my-minor-mode-map

我正在尝试创建一个组合键绑定

下面是一个例子:

(define-key my-minor-mode-map (kbd "x f") "\C-x\C-f")
(编辑:感谢Stefan指出\C-x和\C-f之间的空格。)

然而,这将我带到一个随机文件,描述键说:

Macro: C-x C-f
Keyboard macro.
所以我不确定这是什么意思。 似乎尝试将s绑定到C-s也不起作用(以及其他交互命令,如C-r和M-x)

这确实有效:

(define-key my-minor-mode-map (kbd "x f") "\M-f")
因此,基本上我希望能够运行C-xc-f(findfile),而不必键入“findfile作为函数本身”

换言之;我不想要这个:

(define-key my-minor-mode-map (kbd "x f") 'find-file)
我希望有人能帮我解决这个问题。我的emacs知识非常有限

提前谢谢

完整代码:

(defvar my-minor-mode-map (make-keymap) "my-minor-mode keymap")
(define-key my-minor-mode-map (kbd "x f") "\C-x\C-f")
(define-minor-mode my-minor-mode
"My minor-mode"

t "My minor mode" 'my-minor-mode-map)
(defun my-minibuffer-setup-hook ()
    (my-minor-mode 0))
"My minor-mode"
编辑:

如果我能做到这一点,那就更好了:

(define-key my-minor-mode-map (kbd "x") "\C-x")
(define-key my-minor-mode-map (kbd "f") "\C-f")
然后,如果我输入“xf”,它将执行“\C-xc-f”即find文件。
这样我就不必写出所有可能的组合键。

“\C-x\C-f”
有三个元素:
C-x
SPC
,和
C-f
。你可能不是有意让那个空间在那里。

“\C-x\C-f”
有三个元素:
C-x
SPC
,和
C-f
。你可能并不是有意让那个空间在那里。

我不完全确定你认为这里应该发生什么,但我怀疑你真正想要的是:

(定义键我的次要模式映射(kbd“x f”)(键绑定(kbd“C-x C-f”))
这和你说你不想使用的代码是一样的:

(定义键我的次要模式映射(kbd“x f”)'查找文件)
除了基于密钥绑定动态获取函数之外


p、 同样有点奇怪的是,你使用了
kbd
和非
kbd
语法的混合形式。

我不完全确定你认为这里应该发生什么,但我怀疑你真正想要的是:

(定义键我的次要模式映射(kbd“x f”)(键绑定(kbd“C-x C-f”))
这和你说你不想使用的代码是一样的:

(定义键我的次要模式映射(kbd“x f”)'查找文件)
除了基于密钥绑定动态获取函数之外


p、 同样有点奇怪的是,你同时使用了
kbd
和非
kbd
语法,形式相同。

谢谢你指出这一点,但是我仍然没有得到想要的结果。当我使用descripe键时,我得到:Macro:C-xc-f。当我运行它时,它会将我带到一个随机文件。我还注意到尝试将s绑定到C-s也不起作用(以及其他交互命令,如C-r、M-x等。感谢您指出这一点,但我仍然没有得到预期的结果。当我使用描述键时,我得到:Macro:C-x C-f。当我运行它时,它会将我带到一个随机文件。我还注意到,尝试将s绑定到C-s也不起作用(以及其他交互命令,如C-r、M-x等)。