Gostaria de mudar o comportamento de fill-paragraphcertos modos (por exemplo, LaTeX-modefornecidos por AucTeX).
Eu poderia apenas religar a chave M-q, mas também estou usando evil-modecuja implementação de evil-fill-and-moveusos fill-region. Idealmente, minha função de preenchimento personalizado substitui as funções fill-paragraph(assim funciona M-q) e fill-region(assim funciona evil).
Supondo que eu tenho um programa independente formatque aceita o código LaTeX via stdine gera código formatado stdout, como substituir as duas funções de preenchimento acima para usar format?
(Nota: este é semelhante ao vimda formatprgopção.)
evil-fill-and-moveestá vinculado à sequência de teclas gqno modo normal do mal. A religação M-qnão deve afetar essa combinação de teclas. Em certo sentido, minha pergunta é realmente duas perguntas: 1) Como substituir as duas funções? 2) Como usar um programa externo? A razão para 2) é que eu já tenho uma solução externa não Elisp.
(add-hook 'LaTeX-mode-hook (lambda () local-set-key (kbd "M-q") 'your-fill-function))onde your-fill-functionestá o seu elisp customizado. Isso definirá essa combinação de teclas apenas no Auctex. Você provavelmente poderia usar shell-command-on-regiono argumento REPLACE para definir your-fill-function.
M-qafetaevil-fill-and-movede qualquer maneira? Eu não uso o mal, por isso estou curioso. Se a região estiver ativa,fill-paragraphligue defill-regionqualquer maneira. Portanto, você pode aconselhar ou substituirfill-regionpor sua função.