gpt4 book ai didi

emacs - 用特定模式定义键和弦键

转载 作者:行者123 更新时间:2023-12-04 18:07:34 25 4
gpt4 key购买 nike

如何仅在特定模式下定义键和弦键,例如我想将苹果酒 repl 绑定(bind)到仅在 clojure-mode 中的特定键或 cider-mode .我只能找到一个全局激活 key 的示例。

谢谢你的帮助。

编辑:

(require 'evil)
(require 'key-chord)
(evil-mode 1)

(key-chord-mode 1)
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
(key-chord-define-global "gt" 'other-window)
(key-chord-define clojure-mode-hook "gj" 'cider-jack-in)
;; error : Wrong type argument: keymapp, (rainbow-delimiters-mode)


(provide 'init-evil)

最佳答案

定义特定于模式的键绑定(bind)

以下是如何执行此操作的示例:

(define-key clojure-mode-map (kbd "C-c r") 'cider-repl)

... 当然你必须替换 cider-repl使用您要绑定(bind)的特定命令。请注意,引用 '在需要命令名称之前。

概括:
(define-key <mode-map> <key-binding> '<command>)

key-chord - 具体说明

您需要更改要设置 clojure-mode 的行- 特定键绑定(bind)到
(add-hook 'clojure-mode-hook 
(lambda () (key-chord-define clojure-mode-map "gj" 'cider-jack-in)))

附录:确保在修改模式映射之前定义它们

为了修改 clojure-mode-map要正常工作,您必须确保在调用 define-key 时已定义它如上所述。

如果您使用的是 Emacs 包管理器,您很可能会有这一行
(package-initialize)

在您的 .emacs 中的某处文件(负责加载通过 package-install 安装的软件包)。请务必调用 define-key这条线下方的某个地方。

或者,您可以将调用添加到 define-keyhookclojure-mode 时运行已启用:
(defun clojure-set-up-key-bindings ()
(define-key clojure-mode-map (kbd "C-c r") 'cider-repl)
;; If necessary, add more calls to `define-key' here ...
)

(add-hook 'clojure-mode-hook 'clojure-set-up-key-bindings)

关于emacs - 用特定模式定义键和弦键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23262941/

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