2013-03-14 13 views
5

Sto utilizzando la versione più recente di auto-complete in elpa con la nuova versione stabile di Emacs (24.3) in Linux. Ho la seguente configurazione sul mio file init di Emacs.Completamento automatico Emacs senza visualizzazione dei risultati

(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) 

Se si digita: /home/james/.emin un buffer (ad esempio un buffer Python) mi aspetterei di completamento automatico per suggerire:

.emacs 
.emacs.d 

ma non mostra nulla. La stessa cosa succede con altri file.

A volte I do vedere suggerimenti e/o il menu a comparsa viene visualizzato, ma altre volte no.

Qualche idea, perché?

+0

Dove stai digitando '/ home/james/.em'? Non penso che funzioni di autocompletamento nel minibuffer. Forse stai cercando 'M-x ido-mode'? – Ista

+0

Grazie a @Ista. È su un buffer python (anche se ho provato altri buffer, come un buffer con '.emacs'). Ho aggiornato l'OP –

+0

hai cercato 'ido-mode'? –

risposta

4

ac-config-default imposta un elenco di origini che non includono ac-source-filename. Chiamando questa funzione dopo setq-default ac-sources si stanno ripristinando i valori predefiniti. La modalità di impostazione auto-complete manual suggests si aggancia per impostare le origini desiderate per modalità specifiche. L'esempio del manuale è

(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) 

L'adattamento di questo in modalità python dovrebbe essere abbastanza semplice. In alternativa, è possibile ignorare le impostazioni a livello globale fissati dal ac-config-default chiamandola prima, vale a dire

(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)) 

In questo modo setq-default ac-sources sostituiranno le fonti fissati dalla ac-config-default piuttosto che il contrario.

Problemi correlati