Я хотів би змінити поведінку fill-paragraph
в певних режимах (наприклад, LaTeX-mode
передбачених AucTeX
).
Я міг би просто відновити ключ M-q
, але я також використовую evil-mode
чию реалізацію evil-fill-and-move
використання fill-region
. В ідеалі моя власна функція заповнення перекриває обидві функції fill-paragraph
(так вона працює M-q
) і fill-region
(так вона працює evil
).
Якщо припустити, що у мене є автономна програма, format
яка приймає код LaTeX через stdin
і виводить відформатований код stdout
, як би я міг переосмислити дві вищевказані функції заповнення для використання format
?
(Примітка. Це схоже на варіант vim
s formatprg
.)
evil-fill-and-move
прив’язаний до ключової послідовності gq
в звичайному режимі зла. Повторне перев’язування M-q
не повинно впливати на це прив'язку клавіш. У деякому сенсі моє запитання справді два питання: 1) Як замінити дві функції? 2) Як користуватися зовнішньою програмою? Причиною 2) є те, що я вже маю зовнішнє нееліспське рішення.
(add-hook 'LaTeX-mode-hook (lambda () local-set-key (kbd "M-q") 'your-fill-function))
де your-fill-function
знаходиться ваш власний елісп. Це встановить це ключове комбо лише в Auctex. Можливо, ви можете використовувати shell-command-on-region
аргумент REPLACE для визначення your-fill-function
.
M-q
впливає рендінгevil-fill-and-move
в будь-якому випадку? Я не вживаю зла, отже мені цікаво. Якщо регіон активний, все одноfill-paragraph
телефонуйтеfill-region
. Тож ви можете порадити чи замінитиfill-region
свою функцію.