3

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

然而,邪恶模式似乎破坏了“执行扩展命令”(Mx)的 emacs 键绑定。

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

还是最终有一种简单的方法来修复这个键绑定?

我在用:

  • 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)

我试图添加修饰符-x

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

和 Alt-x

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

但这些尝试并没有修复键绑定,所以我决定使用超级键

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

1 回答 1

0

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

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

您可以使用ErgoEmacs中的参考资料来了解如何为kbd功能提供组合键。

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

于 2015-02-24T18:46:35.707 回答