Web'de uzun bir araştırma yaptıktan ve ac
kod satır satır incelemek için yasnippet
makinemde birçok denemeyle belgelerin dikkatli bir şekilde incelendikten sonra , herhangi bir confict olmadan da çalışabilen (opioinal) bu çözümü buldum.
bunu kendi sıranıza koyun init.el
veya .emacs
diziye dikkat edin:
(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)
Notlar:
olarak belirtilen belgelere ait ac
, ekleme ac-modes
ve kancalar yüklemeden önce yapılmalıdır (ac-config-default)
.
Bazıları TAB
, bir şekilde daha sonra başka bir şeyi yok edeceği için ihtiyaç duymadığım ve önermediğim anahtarla oynamak için bazı kodlar koymayı önerdi . Ancak, insanların daha önce böyle bir şey koyduklarını gördüm global-auto-complete
:
(ac-set-trigger-key "TAB")
(ac-set-trigger-key "<tab>")
Eklediğim kadar (ac-flyspell-workaround)
otomatik tamamlama ben flyspell kullandığından AUCTeX kullanmadan düşünmek çok yavaştı. Bu hata dokümantasyonda da belirtilmiştir. Teşekkürler!
Bonus
Belgeden, kullanıcı tanımlı bir sözlük (ler) ekleyebileceğinden çok açık olmasa da bilmekten memnun oldum! Bunu denedim ve iyi çalıştım.
bu iki require-auto-complete
satırı yukarıdaki satırdan hemen sonra ekleyin :
(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
Şimdi .txt
dosyanıza favori tamamlama adaylarınızı ekleyin. Kendinizi 4 harften daha kısa adaylardan kurtarın, buna değmezler! Benzer kelimelerinizi satır beslemeyle veya RET
.
.txt
Dosyadaki içerik örneği :
inconsistencies
foobaremaild@foobar.com
do-not-put-your-password-here
long-line-in-any-programming-language-of-your-like
Emacs ile LaTeX / AUCTeX'te otomatik tamamlamanın tadını çıkarın!