Setelah melakukan riset panjang di web dan memeriksa ac
dokumentasi dengan hati-hati dengan banyak uji coba di mesin saya untuk memeriksa kode baris demi baris, saya menemukan solusi ini yang bisa yasnippet
berfungsi dengan baik (optioinal) tanpa konfik.
letakkan ini di init.el
atau .emacs
atur 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-modes
dan kait harus dilakukan sebelum pemuatan (ac-config-default)
.
Beberapa menyarankan untuk meletakkan beberapa kode untuk bermain dengan TAB
kunci 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-complete
baris 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 .txt
file 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 .txt
file:
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!