Я хотів би змінити поведінку 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?
(Примітка. Це схоже на варіант vims 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свою функцію.