簡體   English   中英

從Evil命令模式使用'execute-extended-command'(Mx未定義)

[英]Use 'execute-extended-command' from Evil command mode (M-x is undefined)

我剛開始嘗試使用emacs。 作為Vim用戶,我不想在沒有安裝惡魔模式的情況下使用它。

然而,邪惡模式似乎打破了'execute-extended-command'(Mx)的emacs鍵綁定。

我真的不關心這個鍵綁定,我注意到我可以從邪惡的命令模式中調用例如'list-packages',它運行得很好。 我現在唯一缺少的是命令模式下的TAB自動完成,比如鍵入'list-'TAB然后它將顯示或迭代可用命令。 邪惡模式有可能嗎?

或者最終有一種簡單的方法來修復這個鍵綁定?

我在用:

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

但是這些嘗試沒有修復鍵綁定,所以我決定使用超級鍵進行滾動

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

修復鍵盤綁定非常簡單 - 只需將此行添加到.emacs文件中(或在臨時緩沖區中對其進行評估):

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

您可以使用ErgoEmacs中的引用來了解如何為kbd函數提供鍵組合。

IMO最好使用標准的Emacs方法運行命令 - 使用evil-mode命令模式處理與邪惡相關的事情,並使用Mx / execute-extended-command與Emacs一起工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM