启用ergoemacs时,ido-completion-map键不起作用

时间:2014-09-18 01:56:04

标签: emacs ido ergoemacs

当使用ergo emacs时,出于某种原因,M-l和M-j(分别为forward-char和backward-char)无法在迷你缓冲区中正常工作(使用ido模式)。

我尝试使用以下内容设置ido-completion-map:

(add-hook 'ido-setup-hook
  (lambda ()
    (define-key ido-completion-map (kbd "M-k") 'ido-next-match)
    (define-key ido-completion-map (kbd "M-i") 'ido-prev-match)
    (define-key ido-completion-map (kbd "M-l") 'ido-next-match)
    (define-key ido-completion-map (kbd "M-j") 'ido-prev-match)))

但这些似乎并不坚持。

我似乎对这个人有类似的问题:ido-mode binding masked by global-set-key但是没有一个解决方案似乎对我有用

非常感谢任何帮助

亲切的问候 Nimai

2 个答案:

答案 0 :(得分:0)

虽然ido.el开头的说明建议使用:

;; Customization
;; -------------
;;
;; Customize the Ido group to change the Ido functionality.
;;
;; To modify the keybindings, use the ido-setup-hook.  For example:
;;(add-hook 'ido-setup-hook 'ido-my-keys)
;;
;;(defun ido-my-keys ()
;;  "Add my keybindings for ido."
;;  (define-key ido-completion-map " " 'ido-next-match)
;;  )

我最近发现使用框架切换功能时使用ido-common-completion-map会有更好的运气 - 原始海报可以替代他/她自己喜欢的键盘快捷键而不是m-tab和/或{{ 1}}:

m-S-tab

答案 1 :(得分:0)

我遇到了保存问题,我正在使用带有ergoemacs-mode-5.14.7.3的Emacs 24.4(我没有使用最新版本的ergoemacs,因为它有速度问题。请参阅:github issue) 。经过大量搜索后,我终于找到了这个github commit,并通过在我的emacs init文件中添加以下代码来实现它:

启用ergoemacs-mode后

(when ido-mode
  (global-set-key [remap ido-magic-forward-char] 'ido-next-match)
  (global-set-key [remap ido-magic-backward-char] 'ido-prev-match))

希望它有所帮助,谢谢!