7

マーマレードリポジトリを使用してオートコンプリートをインストールしました。すべてが正しくインストールされ、ものを移動した後、init.elの次のコードを使用して、エラーなしでオートコレクトを起動して実行することができました。

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

これで、Emacs Lispでオートコンプリートを使用できますが、Java、C、C ++などの他のモードを使用すると、まったく機能しなくなります。

私もyasnippetをインストールしました(完全に機能します)が、それが何か関係があるかどうかはわかりません。これが私のinit.elの関連コードです:

;;yasnippet
(add-to-list 'load-path
              "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas-global-mode 1)

私はEmacsを学ぶ過程にあり、現在はまだ初心者です。私はドキュメントとSO全体を調べてきましたが、何も見つかりませんでした。私はこれに関してどんな助けでも本当に感謝します。

4

2 に答える 2

6

完了ソースを追加する必要がある場合があります。これが私の設定にあるものです:

(set-default 'ac-sources
             '(ac-source-abbrev
               ac-source-dictionary
               ac-source-yasnippet
               ac-source-words-in-buffer
               ac-source-words-in-same-mode-buffers
               ac-source-semantic))

更新ac-config-defaultこれをカバーする必要がありますが、オートコンプリートがこれらのモードでアクティブ化されていない場合は、init.elに次のように入力してみてください。

(dolist (m '(c-mode c++-mode java-mode))
  (add-to-list 'ac-modes m))

(global-auto-complete-mode t)

Update2:を使用してオートコンプリートをプルするようにinit.elを適応させる要点package-installを投稿しました。

参照しているオートコンプリートのバージョンはわかりませんが、最新のものは問題なく機能しています。

自動完了が機能するCモード

于 2013-02-03T21:01:57.410 に答える
0

私はあなたとまったく同じ問題を抱えています。Emacs-Lispはオートコンプリートで完璧に動作しますが、C、C++は動作しません。さまざまな組み合わせを試してみたところ、.emacsからyasnippetをコメントアウトすることで問題が解決することがわかりました。これがお役に立てば幸いです。私のオートコンプリートバージョンは1.3.1です。

于 2013-03-10T01:40:41.270 に答える