Sau khi thực hiện một nghiên cứu dài trên web và kiểm tra ac
tài liệu cẩn thận với rất nhiều thử nghiệm trên máy của tôi để kiểm tra từng dòng mã, tôi đã tìm ra giải pháp này có thể hoạt yasnippet
động tốt (quang học) mà không cần bất kỳ lời kết tội nào.
đặt điều này trong init.el
hoặc .emacs
chăm sóc trình tự của bạn:
(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)
Lưu ý:
như đã đề cập trong tài liệu về ac
, việc thêm ac-modes
và móc nên được thực hiện trước khi tải (ac-config-default)
.
Một số đề nghị đặt một số mã để chơi với TAB
khóa mà tôi không cần và không khuyến nghị vì nó sẽ phá hủy thứ khác sau đó. Tuy nhiên, tôi đã thấy mọi người đặt một cái gì đó như thế này vào cuối global-auto-complete
:
(ac-set-trigger-key "TAB")
(ac-set-trigger-key "<tab>")
Cho đến khi tôi thêm (ac-flyspell-workaround)
tự động hoàn thành thì quá chậm để nghĩ đến việc sử dụng nó trong Auctex kể từ khi tôi sử dụng flyspell. Lỗi này cũng đã được đề cập trong tài liệu. Cảm ơn!
Phần thưởng
Tôi rất vui khi biết từ tài liệu này, mặc dù không rõ lắm về cách thức, người ta có thể thêm một từ điển do người dùng định nghĩa! Tôi đã thử điều này và làm việc tốt.
thêm hai dòng sau ngay sau require-auto-complete
dòng trên:
(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
Bây giờ trong .txt
tập tin của bạn thêm các ứng cử viên yêu thích của bạn để hoàn thành. Hãy tự cứu mình khỏi những ứng cử viên dài dưới 4 chữ cái, họ không xứng đáng! Đơn giản chỉ cần đặt các từ giống như của bạn được phân tách bằng một nguồn cấp dữ liệu hoặc RET
.
Ví dụ về nội dung trong .txt
tệp:
inconsistencies
foobaremaild@foobar.com
do-not-put-your-password-here
long-line-in-any-programming-language-of-your-like
Tận hưởng tự động hoàn thành trong LaTeX / AocateeX với Emacs!