首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在emacs邪恶模式下保持M-x的传统绑定

如何在emacs邪恶模式下保持M-x的传统绑定
EN

Stack Overflow用户
提问于 2013-10-18 16:19:39
回答 2查看 2.4K关注 0票数 3

我试图在邪恶的正常模式下将执行扩展命令绑定到M。我现在有

代码语言:javascript
复制
;; evil mode
(require 'evil)
(evil-mode 1)

(define-key evil-normal-state-map "M-x" 'execute-extended-command)

在我的.emacs文件中,但是密钥绑定不起作用。我试着替换

代码语言:javascript
复制
"M-x"

使用

代码语言:javascript
复制
"\M-x"

代码语言:javascript
复制
(kbd "M-x")

但这两样都不管用。我还试着把它添加到evil.el和邪恶地图中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-18 17:39:52

经过长期的研究,在irc上的#emacs和#邪恶模式频道的帮助下,我的emacs被打破了。这是来自http://emacs.naquadah.org/的快照,我在另一个emacs版本( debian )上尝试了这一切,它运行得很好。

票数 0
EN

Stack Overflow用户

发布于 2013-10-18 16:56:01

我不知道你的装订有什么问题。您可以使用Emacs自己的global-set-key进行全局处理,如果您计划了一些特殊的内容,比如插入模式,您可以在以后重写它,比如:

代码语言:javascript
复制
 ;; 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 )中。

代码语言:javascript
复制
 (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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19454396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档