0

使用 ergo emacs 时,由于某种原因,Ml 和 Mj(分别为 forward-char 和 back-char)在 minibuffer(使用 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但似乎没有一个解决方案对我有用

任何帮助将不胜感激

亲切的问候尼迈

4

2 回答 2

0

我遇到了保存问题,我正在使用 Emacs 24.4 和 ergoemacs-mode-5.14.7.3(我不使用最新版本的 ergoemacs,因为它有速度问题。请参阅:github issue)。经过大量搜索,我终于找到了这个github 提交,并通过将以下代码添加到我的 emacs 初始化文件中来使其工作:

启用 ergoemacs 模式后:

(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))

希望对您有所帮助,谢谢!

于 2014-12-27T17:19:18.643 回答
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和/或m-S-tab

(add-hook 'ido-setup-hook 'ido-my-keys)

(defun ido-my-keys ()
  "Add my keybindings for ido."
  (define-key ido-common-completion-map (kbd "<M-tab>") 'ido-next-match)
  (define-key ido-common-completion-map (kbd "<M-S-tab>") 'ido-prev-match) )
于 2014-09-18T04:08:19.653 回答