2013-03-14 43 views
5

Tôi đang chạy phiên bản mới nhất của auto-complete trong elpa với bản phát hành ổn định mới của Emacs (24.3) trong Linux. Tôi có thiết lập sau đây trên tập tin init Emacs của tôi.Emacs tự động hoàn thành không hiển thị kết quả

(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) 
(require 'auto-complete-config) 
(setq-default ac-sources 
      '(
     ac-source-filename 
     ac-source-abbrev 
     ac-source-dictionary 
     ac-source-words-in-same-mode-buffers)) 
(ac-config-default) 

Nếu tôi bắt đầu nhập: /home/james/.emtrong một bộ đệm (ví dụ một bộ đệm Python) Tôi mong chờ tự động hoàn tất đề nghị:

.emacs 
.emacs.d 

nhưng nó không hiển thị bất cứ điều gì. Điều tương tự cũng xảy ra với các tệp khác.

Đôi khi tôi làm xem các đề xuất và/hoặc trình đơn bật lên xuất hiện, nhưng những lúc khác thì không.

Mọi suy nghĩ tại sao?

+0

Bạn đang gõ ở đâu/home/james/.em'? Tôi không nghĩ rằng tự động hoàn thành hoạt động trong minibuffer. Có lẽ bạn đang tìm kiếm 'M-x ido-mode'? – Ista

+0

Cảm ơn @Ista. Đó là trên một bộ đệm python (mặc dù tôi đã thử các bộ đệm khác, chẳng hạn như một bộ đệm với '.emacs'). Tôi đã cập nhật OP –

+0

bạn đã tìm kiếm 'chế độ ido' chưa? –

Trả lời

4

ac-config-default đặt danh sách các nguồn không bao gồm tên mã nguồn ac. Bằng cách gọi hàm này sau setq-default ac-sources, bạn sẽ đặt lại chúng về mặc định. Các móc chế độ cài đặt auto-complete manual suggests để thiết lập các nguồn mong muốn cho các chế độ cụ thể. Ví dụ từ hướng dẫn sử dụng là

(defun my-ac-emacs-lisp-mode() 
    (setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers))) 

(add-hook 'emacs-lisp-mode-hook 'my-ac-emacs-lisp-mode) 

Thích ứng với chế độ python này sẽ dễ dàng. Hoặc bạn trên toàn cầu có thể ghi đè các thiết lập được thiết lập bởi ac-config-default bằng cách gọi nó đầu tiên, ví dụ:

(require 'auto-complete-config) 
(ac-config-default) 
(setq-default ac-sources 
      '(
     ac-source-filename 
     ac-source-abbrev 
     ac-source-dictionary 
     ac-source-words-in-same-mode-buffers)) 

Bằng cách đó setq-default ac-sources sẽ ghi đè lên các nguồn được thiết lập bởi ac-config-default chứ không phải là cách khác xung quanh.

Các vấn đề liên quan