Saya ingin mengubah perilaku fill-paragraph
dalam mode tertentu (misalnya LaTeX-mode
disediakan oleh AucTeX
).
Saya hanya bisa memutar kunci M-q
, tetapi saya juga menggunakan evil-mode
implementasi yang evil-fill-and-move
menggunakan fill-region
. Idealnya, fungsi isi kustom saya untuk menimpa kedua fungsi fill-paragraph
(sehingga berfungsi dengan M-q
) dan fill-region
(jadi berfungsi dengan evil
).
Dengan anggapan bahwa saya memiliki program mandiri format
yang menggunakan kode LaTeX via stdin
dan menampilkan kode yang diformat stdout
, bagaimana saya akan mengganti dua fungsi pengisian di atas untuk digunakan format
?
(Catatan: ini mirip dengan vim
's formatprg
pilihan.)
evil-fill-and-move
terikat pada urutan kunci gq
dalam mode normal kejahatan. Rebinding M-q
seharusnya tidak memengaruhi ikatan kunci ini. Dalam beberapa hal, pertanyaan saya sebenarnya adalah dua pertanyaan: 1) Bagaimana cara mengganti dua fungsi? 2) Bagaimana cara menggunakan program eksternal? Alasan untuk 2) adalah bahwa saya sudah memiliki solusi eksternal, non-Elisp.
(add-hook 'LaTeX-mode-hook (lambda () local-set-key (kbd "M-q") 'your-fill-function))
mana your-fill-function
defun elisp kustom Anda. Ini akan menetapkan kombo kunci itu hanya di Auctex. Anda mungkin bisa menggunakan shell-command-on-region
argumen REPLACE untuk didefinisikan your-fill-function
.
M-q
memengaruhievil-fill-and-move
? Saya tidak menggunakan kejahatan maka saya ingin tahu. Jika wilayah tetapfill-paragraph
panggilan aktiffill-region
. Jadi, Anda dapat menyarankan atau menggantifill-region
dengan fungsi Anda.