Vorrei cambiare il comportamento di fill-paragraphin determinate modalità (ad esempio LaTeX-modefornite da AucTeX).
Potrei semplicemente ricollegare la chiave M-q, ma sto anche usando la evil-modecui implementazione degli evil-fill-and-moveusi fill-region. Idealmente, la mia funzione di riempimento personalizzata per sovrascrivere entrambe le funzioni fill-paragraph(in modo che funzioni M-q) e fill-region(in modo che funzioni evil).
Supponendo che ho un programma autonomo formatche accetta il codice LaTeX tramite stdine genera il codice formattato stdout, come potrei fare per sovrascrivere le due funzioni di riempimento di cui sopra format?
(Nota: questo è simile a vim's formatprgopzione.)
evil-fill-and-moveè legato alla sequenza di tasti gqnella modalità normale del male. La rilegatura M-qnon dovrebbe influire su questa associazione di tasti. In un certo senso, la mia domanda è in realtà due domande: 1) Come sostituire le due funzioni? 2) Come utilizzare un programma esterno? Il motivo di 2) è che ho già una soluzione esterna, non Elisp.
(add-hook 'LaTeX-mode-hook (lambda () local-set-key (kbd "M-q") 'your-fill-function))dove si your-fill-functiontrova il tuo defun personalizzato elisp. Questo imposterà quella combinazione di tasti solo in Auctex. Probabilmente potresti usare shell-command-on-regionl'argomento REPLACE per definire your-fill-function.
M-qinfluenzaevil-fill-and-movecomunque? Non uso il male, quindi sono curioso. Se la regione è attiva,fill-paragraphchiamafill-regioncomunque. Quindi potresti consigliare o sostituirefill-regioncon la tua funzione.