stackoverflow!在过去的几天里,我试图定制我的emacs,并且遇到了我不知道如何处理的问题。由全局设置密钥屏蔽的ido模式绑定
我想要做的就是定义一个全局键绑定,并且将使用相同的密钥做不同的事情的IDO模式键联结。
伊多模式键联结的定义是这样的:
(defun ido-my-keys()
"Add my keybindings for ido."
(define-key ido-completion-map (kbd "M-<return>")
'ido-invoke-in-vertical-split)
)
(add-hook 'ido-setup-hook 'ido-my-keys)
直到我把下面一行在我.emacs文件,它工作正常:
(global-set-key (kbd "M-<return>") 'insert-newline-and-indent)
这条线目前M-回报甚至从ido-switch-buffer调用insert-newline-and-indent。有趣的是,当我交互地使用global-set-key(即不是从init-file而是从M-x调用)时,一切都按预期工作。
感谢您的帮助。对不起我的英语不好。
问题原来是我打开的ergoemacs模式。此模式为导致此效应的全局设置键定义建议。
我通过移动上面的ergoemacs初始化的全局设置键通话解决了这个问题。不是最好的解决方案,而是简单的解决方案。
我不能重现这一点。顺便说一句'ido-invow-in-vertical-split'不是内置的函数,我不得不为它的谷歌。 https://gist.github.com/493269 – kindahero 2012-03-26 18:45:00
我很抱歉,这种默默无闻。无论如何,这个函数似乎并没有涉及到这个问题:把它改成别的东西(例如ido-exit-minibuffer)不会改变效果。 – campugnatus 2012-03-26 18:51:19
您使用的是哪个版本的Emacs?我也无法重现这个问题(在Emacs 24.0.94中)。 – phils 2012-03-26 20:25:08