stackoverflow! Nei giorni scorsi ho cercato di personalizzare i miei emacs un po 'e ho affrontato il problema che non so come affrontare.associazione in modalità ido mascherata dal set di chiavi globale
Quello che sto cercando di fare è definire un keybinding globale e una combinazione di tasti ido-mode che userebbe gli stessi tasti per fare cose diverse.
Ido-mode scorciatoia è definita in questo modo:
(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)
E funziona bene fino a quando ho posto la seguente riga nel mio file .emacs:
(global-set-key (kbd "M-<return>") 'insert-newline-and-indent)
Con questa formazione attuale M-ritorno invoca insert-newline-and-indent anche da ido-switch-buffer. È interessante notare che quando uso global-set-key in modo interattivo (vale a dire non da init-file ma da invocazione M-x), tutto funziona come previsto.
Grazie per il vostro aiuto. Mi scusi per il mio inglese.
Il problema si è verificato in modalità ergoemacs che ho attivato. Questa modalità definisce un consiglio per il set-chiave globale che causa questo effetto.
Ho risolto il problema spostando la chiamata del tasto di selezione globale sopra l'inizializzazione di ergoemacs. Non la soluzione migliore, ma semplice.
non posso riprodurre questo. BTW 'ido-invoke-in-vertical-split' non è una funzione incorporata, ho dovuto google per questo. https://gist.github.com/493269 – kindahero
Mi dispiace per tale oscurità. Ad ogni modo, questa funzione non sembra essere correlata al problema: cambiandola in qualcos'altro (ad es. Ido-exit-minibuffer) non cambia l'effetto. – campugnatus
Quale versione di Emacs stai usando? Non riesco a riprodurre neanche questo problema (in Emacs 24.0.94). – phils