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.)
latex
init-file
auctex
fill-paragraph
Kevin
fuente
fuente
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.evil-fill-and-move
está vinculado a la secuencia de teclasgq
en el modo normal del mal. RebindingM-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))
dondeyour-fill-function
está su defunción elisp personalizada. Esto establecerá esa combinación de teclas solo en Auctex. Probablemente podría usarshell-command-on-region
con el argumento REPLACE para definiryour-fill-function
.Respuestas:
Sería mejor tener 2 funciones, aunque una se puede implementar en términos de la otra. La razón es que un párrafo es una región implícita , por lo que la entrada en ambos casos debería ser diferente
Para sustituir las funciones por otras, independientemente de su combinación de teclas, utilice las asignaciones de teclas de reasignación:
fuente