gpt4 book ai didi

emacs 将多个击键和命令映射到一个键

转载 作者:行者123 更新时间:2023-12-04 04:57:27 28 4
gpt4 key购买 nike

我正在尝试映射 c-u m-x indent-pp-sexp到一个键,比如 F5,这样使用 Emacs 就不会侵 eclipse 我的指纹。

我用 (global-set-key (kbd "C-u M-x indent-pp-sexp") "<f5>")但我收到以下错误:

global-set-key: Key sequence C-u M-x i n d e n t - p p - s e x p starts with non-prefix key C-u

编辑

有了这个 lambda 函数 (global-set-key (kbd "<f5>") (lambda (interactive) (universal-argument) (indent-pp-sexp t)))
得到错误:
recursive-edit: Wrong type argument: commandp, (lambda (interactive) (universal-argument) (indent-pp-sexp t))

奇怪,因为 univeral-argument不带参数, indent-pp-sexp需要 bool 值

最佳答案

您有错误的参数,并且您将键绑定(bind)到函数,而不是其他键序列。也许您真的在寻找 named macro ;或者您可以编写一些实际的 Lisp 并将其绑定(bind)到 F5:

(global-set-key (kbd "<f5>")
(function (lambda () (interactive) (indent-pp-sexp t) )) )

调用表单中存在的参数似乎足以选择前缀参数功能。

关于emacs 将多个击键和命令映射到一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com