Chciałbym zmienić zachowanie fill-paragraphniektórych trybów (np. LaTeX-modeDostarczone przez AucTeX).
Mógłbym po prostu ponownie powiązać klucz M-q, ale używam również, evil-modektórego implementacja evil-fill-and-movezastosowań fill-region. Idealnie fill-paragraphbyłoby, gdyby moja niestandardowa funkcja wypełniania zastępowała obie funkcje (więc działa z nimi M-q) i fill-region(więc działa z evil).
Zakładając, że mam samodzielny program, formatktóry pobiera kod LaTeX przez stdini formatuje kod wyjściowy stdout, jak miałbym zastąpić dwie powyższe funkcje wypełniania, aby użyć format?
(Uwaga: to jest podobna do vim„s formatprgopcja).
evil-fill-and-movejest związany z sekwencją klawiszy gqw normalnym trybie zła. Ponowne wiązanie M-qnie powinno wpływać na to wiązanie klawiszy. W pewnym sensie moje pytanie to tak naprawdę dwa pytania: 1) Jak zastąpić dwie funkcje? 2) Jak korzystać z zewnętrznego programu? Powodem 2) jest to, że mam już zewnętrzne rozwiązanie inne niż Elisp.
(add-hook 'LaTeX-mode-hook (lambda () local-set-key (kbd "M-q") 'your-fill-function))gdzie your-fill-functionznajduje się Twój własny elisp defun. Spowoduje to ustawienie tej kombinacji klawiszy tylko w Auctex. Prawdopodobnie możesz użyć shell-command-on-regionargumentu REPLACE do zdefiniowania your-fill-function.
M-qwpływaevil-fill-and-move? Nie używam zła, dlatego jestem ciekawy. Jeśli region jest aktywny, mimo tofill-paragraphpołączeniafill-region. Możesz więc doradzić lub zastąpićfill-regionswoją funkcją.