Me gustaría cambiar el comportamiento de fill-paragraph
ciertos modos (por ejemplo, LaTeX-mode
proporcionado por AucTeX
).
Podría volver a vincular la clave M-q
, pero también estoy usando evil-mode
cuya implementación de evil-fill-and-move
usos fill-region
. Idealmente, mi función de relleno personalizada para anular ambas funciones fill-paragraph
(para que funcione M-q
) y fill-region
(para que funcione evil
).
Suponiendo que tengo un programa independiente format
que toma el código LaTeX a través de stdin
un código formateado stdout
, ¿cómo podría anular las dos funciones de relleno anteriores para usar format
?
(Nota: esto es similar a vim
la formatprg
opción de.)
evil-fill-and-move
está vinculado a la secuencia de teclas gq
en el modo normal del mal. Rebinding M-q
no debería afectar a esta combinación de teclas. En cierto sentido, mi pregunta es realmente dos preguntas: 1) ¿Cómo reemplazar las dos funciones? 2) ¿Cómo usar un programa externo? La razón de 2) es que ya tengo una solución externa que no es Elisp.
(add-hook 'LaTeX-mode-hook (lambda () local-set-key (kbd "M-q") 'your-fill-function))
donde your-fill-function
está su defunción elisp personalizada. Esto establecerá esa combinación de teclas solo en Auctex. Probablemente podría usar shell-command-on-region
con el argumento REPLACE para definir your-fill-function
.
M-q
afecta de algunaevil-fill-and-move
manera? No uso el mal, por lo tanto tengo curiosidad. Si la región está activa,fill-paragraph
llama defill-region
todos modos. Por lo tanto, puede aconsejar o reemplazarfill-region
con su función.