2012-09-30 120 views
7

我很高興與RET不會觸發自動完成,但有一級件事我的錯誤:Emacs的自動完成:內聯建議

我設置,以立即顯示內嵌的建議,但與0.9菜單延遲。我輸入前幾個字母,例如「del」立即自動完成內聯「刪除」。如果我想輸入「刪除」,我打TAB,這是沒問題的。但是如果我想實際輸入「del」和一個換行符 - 在這裏再次點擊RET自動完成「刪除」。

如果只顯示內聯建議,我如何強制RET爲換行符?一旦顯示自動完成菜單,我希望它再次成爲觸發鍵。

謝謝!

+0

嘗試'del Ctrl-d'。我不在電腦上,我可以檢查。 – Tyler

回答

8

之後,加入其他設置以下線的auto-complete模式,您可以通過RET能夠完成顯示完成菜單隻有當:

(define-key ac-completing-map "\C-m" nil) 
(setq ac-use-menu-map t) 
(define-key ac-menu-map "\C-m" 'ac-complete) 

ac-completing-map是鍵盤映射,其中RET是默認綁定到ac-completeac-menu-map是在完成菜單上完成的鍵盤映射。當ac-use-menu-map變量爲t時,將啓用ac-menu-map鍵盤映射。

僅供參考,完成可以通過在任何時間按C-g來停止。因此,您還可以點擊C-gRET以輸入換行符,換行符爲RET完整。此外,您可以使用C-j而不是RET當您要輸入換行符時。 默認情況下,C-j不綁定到ac-complete

+0

謝謝!這工作!我知道C-g(我也有ESC綁定到這個功能),但是打破了平滑的流程。 – user673592