Chcę auto-complete
(ac) działać, gdy jestem w AucTeX
trybie wewnętrznym . Wszystkie pakiety otrzymuję od MELPA po instalacji pakietu.
To jest mój odpowiedni kod w init.el
pliku:
(require 'package)
(package-initialize)
(require 'auto-complete-config)
(ac-config-default)
(global-auto-complete-mode t)
jak widać, chociaż ustawiam ac
globalnie, nie pojawia się AucTeX
. Jednak postępując zgodnie z instrukcjami w tym emacswiki , ac
tryb został wyświetlony na pasku stanu w, AucTeX
ale nie działa, brak automatycznego uzupełniania przez wpisywanie znaków.
Notes
Emacs 24.4 pod Windows 7 32bit i pakiety zostały zaktualizowane.
latex
auctex
auto-complete-mode
doktorat
źródło
źródło
ac
dobrze sobie radzićauctex
. Wspomniałem,yasnippet
ponieważ używam go również, aby mieć niektóre fragmenty zdefiniowane przez użytkownika w lateksie. Więc dopóki nie podasz kodu, nie wiem, czyyas
przeszkadzamac
.yasnippet
dowiedzieć, czy autouzupełnianie i AUCTeX działają razem, jak sugeruje @giordano. Jeśli tak, to problem dotyczy włączeniayasnippet
. Jeśli tak, prawdopodobnie jest to konfiguracja autouzupełniania.yasnippet
że usunąłem go z mojego pliku init.el. Problem najprawdopodobniej dotyczy konfiguracjiauctex
iac
.Odpowiedzi:
Po długich badaniach w sieci i dokładnym sprawdzeniu
ac
dokumentacji z wieloma próbami na moim komputerze w celu zbadania kodu wiersz po wierszu, wymyśliłem to rozwiązanie, które może równieżyasnippet
działać (opcjonalnie) bez żadnych konfliktów.umieść to w swoim
init.el
lub.emacs
dbając o sekwencję:Uwagi:
jak podano w dokumentacji z
ac
, dodawanie doac-modes
i haki powinny być wykonane przed załadunkiem(ac-config-default)
.Niektórzy sugerowali, aby umieścić kod do gry
TAB
kluczem, którego nie potrzebowałem i nie polecam, ponieważ w jakiś sposób zniszczy coś innego później. Widziałem jednak, jak ludzie umieszczali na końcu coś takiegoglobal-auto-complete
:Dopóki nie dodałem
(ac-flyspell-workaround)
automatycznego uzupełniania było zbyt wolne, aby myśleć o użyciu go w Auctex, ponieważ używam Flyspell. Ten błąd został również wspomniany w dokumentacji. Dzięki!Bonus
Z przyjemnością dowiedziałem się z dokumentacji, choć nie bardzo jasne, jak można dodać słownik zdefiniowany przez użytkownika! Próbowałem tego i działałem dobrze.
dodaj te dwie linie tuż za
require-auto-complete
linią powyżej:Teraz w swoim
.txt
pliku dodaj swoich ulubionych kandydatów do ukończenia. Ratuj się przed kandydatami o długości poniżej 4 liter, nie są tego warci! Po prostu umieść swoje podobne słowa, oddzielając je wierszem lubRET
.Przykład zawartości
.txt
pliku:Korzystaj z automatycznego uzupełniania w LaTeX / AUCTeX z Emacsem!
źródło
elisp
funkcja wyrzucania dowolnego zaznaczonego słowa do bufora podczas pisania do tego.txt
dyktatora w locie i dołączania go bez większego wysiłku!Jak powiedziałem w moim powyższym komentarzu, pakiet
auto-complete-auctex
może również rozwiązać problem. Przetestowałem oba i oba działają ładnie. Byłoby miło porównać rozwiązanie @doctorate i powyższego pakietu podając zrzuty ekranu. Jeśli piszę$\sig$
, kod doktora podaje coś takiegoa opakowanie
auto-complete-auctex
daje coś takiegoDodano: Powinienem wspomnieć, że rozwiązanie @giordano również działa, tutaj zrzut ekranu:
źródło
auto-complete
powinien być głównym pakietem, chociażauto-complete-auctex
może mieć dodatkowe funkcje. Spróbuję i zgłosię w razie potrzeby. DziękiOto moja
auto-complete
powiązana konfiguracja:Jak widać, nie ma nic specjalnego dla AUCTeX, jest to standardowa konfiguracja
auto-complete
. Konfiguracjaac-math
jest opisana na stronie internetowej. Jeśli nie używaszac-math
, jedyną sensowną różnicą w konfiguracji jest(add-to-list 'ac-modes 'latex-mode)
.źródło
package-initialize
. Może ci się to nie podobać, aleload-path
w swoich odpowiedziach nie zalecaj złych praktyk, takich jak ręczne zarządzanie.package-initialize
każdym razie postaram się poprawić odpowiedź, używając później.