Webで長い調査を行い、ac
コードを1行yasnippet
ずつ確認するために自分のマシンで多くの試行錯誤を行ってドキュメントを注意深く調べた後、競合することなく(オプティカルで)機能するこのソリューションを思いつきました。
これをあなたの中に置くinit.el
か.emacs
、シーケンスを処理してください:
(require 'package)
(package-initialize)
;; yasnippet code 'optional', before auto-complete
(require 'yasnippet)
(yas-global-mode 1)
;; auto-complete setup, sequence is important
(require 'auto-complete)
(add-to-list 'ac-modes 'latex-mode) ; beware of using 'LaTeX-mode instead
(require 'ac-math) ; package should be installed first
(defun my-ac-latex-mode () ; add ac-sources for latex
(setq ac-sources
(append '(ac-source-math-unicode
ac-source-math-latex
ac-source-latex-commands)
ac-sources)))
(add-hook 'LaTeX-mode-hook 'my-ac-latex-mode)
(setq ac-math-unicode-in-math-p t)
(ac-flyspell-workaround) ; fixes a known bug of delay due to flyspell (if it is there)
(add-to-list 'ac-modes 'org-mode) ; auto-complete for org-mode (optional)
(require 'auto-complete-config) ; should be after add-to-list 'ac-modes and hooks
(ac-config-default)
(setq ac-auto-start nil) ; if t starts ac at startup automatically
(setq ac-auto-show-menu t)
(global-auto-complete-mode t)
注:
のドキュメントで説明されているようにac
、への追加ac-modes
とフックは、をロードする前に行う必要があります(ac-config-default)
。
一部は、TAB
私が必要としなかったキーで遊ぶためにいくつかのコードを置くことを提案しました。しかし、私は人々が直前に最後にこのようなものを置くのを見ましたglobal-auto-complete
:
(ac-set-trigger-key "TAB")
(ac-set-trigger-key "<tab>")
(ac-flyspell-workaround)
自動補完を追加するまで、フライスペルを使用しているため、オートコンプリートをAuctexで使用することを考えるには遅すぎました。このバグはドキュメントにも記載されています。ありがとう!
ボーナス
私はドキュメントから知ってうれしかったですが、方法はあまり明確ではありませんが、ユーザー定義の辞書を追加できることを知っています!私はこれを試してうまくいきました。
require-auto-complete
上記の2 行を上記の行の直後に追加します。
(add-to-list 'ac-dictionary-directories "~/.emacs.d/.dict") ; make sure this folder exists
(add-to-list 'ac-user-dictionary-files "~/.emacs.d/.dict/custom-dict.txt") ; put any name to your `.txt` file
次に、.txt
ファイルにお気に入りの候補を追加して完了させます。4文字未満の候補者から身を守ってください。彼らはそれに値するものではありません!好きな単語を改行またはで区切って入力してくださいRET
。
.txt
ファイルの内容の例:
inconsistencies
foobaremaild@foobar.com
do-not-put-your-password-here
long-line-in-any-programming-language-of-your-like
EmacsでLaTeX / AUCTeXのオートコンプリートをお楽しみください!