gpt4 book ai didi

emacs - 从 Evil 命令模式使用 'execute-extended-command'(M-x 未定义)

转载 作者:行者123 更新时间:2023-12-02 04:50:48 26 4
gpt4 key购买 nike

我刚开始尝试使用 emacs。作为一个 Vim 用户,我不想在不先安装 evil-mode 的情况下使用它。

然而,evil-mode 似乎破坏了 emacs 对 'execute-extended-command' (M-x) 的键绑定(bind)。

我真的不关心这个键绑定(bind),我注意到我可以从邪恶的命令模式调用例如“list-packages”,它工作得很好。我现在唯一缺少的是命令模式下的 TAB 自动完成功能,例如键入“list-”TAB,然后它将显示或迭代可用命令。这在 evil-mode 下可行吗?

或者最终是否有一种简单的方法来修复此键绑定(bind)?

我正在使用:

  • debian 杰西
  • GNU Emacs 24.4.1

编辑:

我的 .emacs 文件:

(require 'package)
(push '("marmalade" . "http://marmalade-repo.org/packages/")
package-archives )
(push '("melpa" . "http://melpa.milkbox.net/packages/")
package-archives)

(add-to-list 'load-path "~/.emacs.d/evil")
(require 'evil)
(evil-mode 1)

(define-key evil-normal-state-map [escape] 'keyboard-quit)
(define-key evil-visual-state-map [escape] 'keyboard-quit)
(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit)

我尝试添加 Modifier-x

(global-set-key (kbd "C-x") 'execute-extended-command)

和 Alt-x

(global-set-key (kbd "A-x") 'execute-extended-command)

但是这些尝试并没有修复键绑定(bind),所以我决定使用 super 键

(global-set-key (kbd "s-x") 'execute-extended-command)

最佳答案

修复键盘绑定(bind)非常简单 - 只需将此行添加到您的 .emacs 文件(或在临时缓冲区中评估它):

(global-set-key (kbd "< put your key combination here >") 'execute-extended-command)

您可以使用 reference from ErgoEmacs了解如何为 kbd 功能提供组合键。

IMO 最好使用标准的 Emacs 方式来运行命令 - 使用你的 evil-mode 命令模式来处理与邪恶相关的事情,并使用 M-x/ execute-extended-command 与 Emacs 一起工作。

关于emacs - 从 Evil 命令模式使用 'execute-extended-command'(M-x 未定义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28703740/

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