2011-07-07 117 views
4

我這是有點關係我兩個問題相信:設置快捷鍵(如IDO)

1)在IDO我願意IDO改變,限制對火柴samething其他比C-SPCC-。不幸的是,我不知道如何告訴emacs我想要一個不同的快捷方式(例如C-0)。

2)我想保護我的C-;但每當flyspell模式正在運行它超越C-;。我的定義是作爲的.emacs:

(global-set-key (kbd "C-;") 'mark-paragraph) 

但顯然flyspell覆蓋此...(雖然即使這樣,如果我看在幫助MHķC-;它說mark-paragraph

有人請告訴我如何在這些條件下綁定/解除綁定?它必須在不修改ido.el和flyspell.el並重新構建的情況下工作,對吧?

非常感謝!

+0

@Trey Jackson:謝謝你的加價 - 現在我明白了它是如何完成的:) – user673592

回答

9

Flyspell提供了C-;定製綁定,因此您可以M-x customize RET flyspell-auto-correct-binding RET或把這樣的事情在你的~/.emacs

(setq flyspell-auto-correct-binding (kbd "C-~")) ; or a binding of your choice 

至於ido,你的問題是略顯混亂,因爲它意味着有次當你使用IDO迷你緩衝區外...

在ido.el的文檔中包含了以下建議:

;; 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-MY-鍵」功能:

(define-key ido-completion-map (kbd "C-SPC") nil) 
(define-key ido-completion-map (kbd "[email protected]") nil) 
(define-key ido-completion-map (kbd "C-0") 'ido-restrict-to-matches) 

有一個額外的IDO鉤專門爲小緩衝區,太多,但目前還不清楚爲什麼你會需要:ido-minibuffer-setup-hook

+0

謝謝!有用!!我其實也研究過ido.el ......但錯過了這部分。此外flyspell現在可以。謝謝! – user673592

+0

樂於幫忙! – sanityinc