[英]How to keep traditional binding on M-x in emacs evil mode
我試圖在邪惡的正常模式下將execute-extended-command綁定到Mx。 我現在有
;; evil mode
(require 'evil)
(evil-mode 1)
(define-key evil-normal-state-map "M-x" 'execute-extended-command)
在我的.emacs文件中,但鍵綁定不起作用。 我試過更換
"M-x"
同
"\M-x"
和
(kbd "M-x")
但都不起作用。 我也嘗試將它添加到evil.el和evil-maps.el中。
我不知道你的綁定有什么問題。 你可以使用Emacs自己的global-set-key
來表示全局的東西,如果你計划一些特別的東西,比如插入模式,你可以稍后覆蓋它,如下所示:
;; this works, just tested. My evil is 1.0-dev from github.
(global-set-key (kbd "M-x") 'smex)
(define-key evil-insert-state-map (kbd "M-x") 'execute-extended-command)
在綁定中有修飾鍵時使用(kdb "")
宏。 但是無論內容如何,您都可以始終使用宏。 這些是例如用法。 如有疑問,請將密鑰包裝在(kdb )
。
(global-set-key (kbd "M-x") 'smex)
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
;;(global-set-key (kbd "M-x") 'execute-extended-command)
(define-key evil-normal-state-map ",d" 'volatile-kill-buffer)
(define-key evil-normal-state-map ",b" 'ido-switch-buffer)
(define-key evil-normal-state-map ",s" 'ispell-word)
(define-key evil-normal-state-map (kbd "C-x g") 'magit-status)
(define-key evil-insert-state-map (kbd "C-f") 'my-expand-file-name-at-point)
(define-key evil-insert-state-map (kbd "C-x C-l") 'my-expand-lines)
(define-key minibuffer-local-map (kbd "C-w") 'backward-kill-word)
(define-key evil-normal-state-map (kbd ",ff") 'ido-find-file)
經過長時間的研究,並在irc上的#emacs和#evil-mode頻道的幫助下,結果證明我的emacs已被破壞。 這是來自http://emacs.naquadah.org/的快照。我在另一個emacs版本(來自debian jessies repos)上嘗試了所有這些並且它工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.