Setelah melakukan riset panjang di web dan memeriksa acdokumentasi dengan hati-hati dengan banyak uji coba di mesin saya untuk memeriksa kode baris demi baris, saya menemukan solusi ini yang bisa yasnippetberfungsi dengan baik (optioinal) tanpa konfik.
letakkan ini di init.elatau .emacsatur urutannya:
(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)
Catatan:
seperti yang disebutkan dalam dokumentasi dari ac, yang menambah ac-modesdan kait harus dilakukan sebelum pemuatan (ac-config-default).
Beberapa menyarankan untuk meletakkan beberapa kode untuk bermain dengan TABkunci yang saya tidak perlu dan tidak merekomendasikan karena entah bagaimana akan menghancurkan sesuatu yang lain nanti. Namun, saya melihat orang-orang meletakkan sesuatu seperti ini di ujung sebelum global-auto-complete:
(ac-set-trigger-key "TAB")
(ac-set-trigger-key "<tab>")
Sampai saya menambahkan (ac-flyspell-workaround)penyelesaian otomatis terlalu lambat untuk berpikir untuk menggunakannya di Auctex karena saya menggunakan flyspell. Bug ini juga disebutkan dalam dokumentasi. Terima kasih!
Bonus
saya senang mengetahui dari dokumentasi, meskipun tidak begitu jelas bagaimana, bahwa seseorang dapat menambahkan kamus yang ditentukan pengguna! Saya mencoba ini dan bekerja dengan baik.
tambahkan dua baris ini tepat setelah require-auto-completebaris di atas:
(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
Sekarang di .txtfile Anda, tambahkan kandidat favorit Anda untuk penyelesaian. Selamatkan diri Anda dari kandidat yang panjangnya kurang dari 4 huruf, mereka tidak layak! Sederhananya kata-kata seperti Anda dipisahkan oleh umpan baris atau RET.
Contoh konten dalam .txtfile:
inconsistencies
foobaremaild@foobar.com
do-not-put-your-password-here
long-line-in-any-programming-language-of-your-like
Nikmati pelengkapan otomatis di LaTeX / AUCTeX dengan Emacs!