2011-11-11 18 views
27

Po prostu instaluję tryb autouzupełniania, jednak za każdym razem, gdy uruchamiam emacsa, muszę przejść do trybu automatycznego uzupełniania M-x. Czy mimo to ładuje się automatycznie?Tryb autouzupełniania Emacsa przy starcie

Moi .emacs jest następujący:

;; auto-complete 
(add-to-list 'load-path "~/.emacs.d/") 
(require 'auto-complete-config) 
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict") 
(ac-config-default) 

Dzięki

+0

Myślę, że jest rozwiązanie sugerowane na [Emacs Wiki] (http://www.emacswiki.org/emacs/AutoComplete). Wyszukaj tryb globalnego automatycznego uzupełniania i sprawdź, czy to działa. – alexurba

Odpowiedz

42

myślę, że można to zrobić na różne sposoby. Aby go włączyć globalnie należy użyć

(global-auto-complete-mode t) 

ale używa auto-complete-mode-Maybe, które obracają AC na tylko te wymienione w ac-modes. Możesz dodać je ręcznie, tak jak to

(add-to-list 'ac-modes 'sql-mode) 

można tworzyć własne listy, jeśli chcesz być aktywny AC tylko dla kilku trybach

(setq ac-modes '(c++-mode sql-mode)) 

Albo przepisać to mieć AC wszędzie.

(defun auto-complete-mode-maybe() 
    "No maybe for you. Only AC!" 
    (auto-complete-mode 1)) 

edycja:

autouzupełnianie w minibufora jest złe. Myślę, że będzie lepiej.

(defun auto-complete-mode-maybe() 
    "No maybe for you. Only AC!" 
    (unless (minibufferp (current-buffer)) 
    (auto-complete-mode 1))) 
+2

Pomocne może być wskazanie, że potrzebujesz '(wymaga 'autouzupełniania)' gdzieś przed '(tryb globalnego automatycznego zakończenia t). –

+0

Znalazłem '(setq ac-modes '(C++ - tryb sql-mode))' by być najprostszym sposobem (i najmniej dwuznacznym) by osiągnąć to, co chciałem. –

+0

Żadna z tych opcji nie działa dla mnie na emacs 24.3.1 na Ubuntu x86. Widzę, że status na modeline ('AC'), ale żadna z funkcji AC nie działa, i wiem, że tak, ponieważ używałam go ręcznie za pomocą' M-x auto-complete-mode'. To, co zadziałało, było w https://emacs.stackexchange.com/questions/18982/how-do-i-make-auto-complete-enabled-by-default – Sonny

19

Potrzebne mi to:

(require 'auto-complete) 
(global-auto-complete-mode t) 

dodany do mojego .emacs.d pliku/init.el.

Zainstalowałem autouzupełnianie za pomocą menedżera pakietów. Używam Emacsa 24.

+0

Ten działał dla mnie, ale nie dla innych. Dzięki. –

+1

Proszę zaalarmować nawet przy tym ustawieniu, tryb AC nie zostanie włączony dla każdego trybu. Na przykład tryb AC nie działa w trybie ReST bez przepisywania '' auto-complete-mode-maybe() '' jak akceptowana odpowiedź. – zack

Powiązane problemy