2014-09-18 7 views
0

При использовании ergo emacs по какой-либо причине M-l и M-j (символ вперед и назад) не работают должным образом в минибуфере (в режиме ido).Ключи ido-complete-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, но ни одно из решений не похоже на работу для меня

Любая помощь будет очень ценится

сердечным приветом Нимая

ответ

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

я встретил сохранить проблему, я использую Emacs 24.4 с ergoemacs-mode-5.14.7.3 (я не использую последнюю версию ergoemacs, потому что у нее есть скорость. См.: github issue). После долгих поисков, я, наконец, найти этот github commit, и получить его работу, добавив ниже кода в мой 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)) 

Надеется, что это помогает, спасибо!