5

LinuxでEmacs(24.3)の新しい安定したリリースで最新バージョンのauto-completeinを実行しています。elpaEmacsのinitファイルに次の設定があります。

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

次のように入力し始める/home/james/.em と、バッファ(Pythonバッファなど)でオートコンプリートが提案することを期待します:

.emacs
.emacs.d

しかし、何も表示されません。同じことが他のファイルでも起こります。

提案が表示されたり、ポップアップメニューが表示されたりすること もありますが、表示されないこともあります。

なぜ何か考えはありますか?

4

1 に答える 1

4

ac-config-defaultac-source-filenameを含まないソースのリストを設定します。setq-default ac-sourcesデフォルトにリセットした後でこの関数を呼び出す。オートコンプリートマニュアルでは、特定のモードに必要なソースを設定するためのモードフックの設定を提案しています。マニュアルの例は

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

これをpython-modeに適応させるのは簡単なはずです。ac-config-defaultまたは、最初に呼び出すことで設定をグローバルにオーバーライドできます。

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

その方法では、その逆ではなく、setq-default ac-sourcesによって設定されたソースをオーバーライドします。ac-config-default

于 2013-03-14T18:43:30.420 に答える