3

动机:使用默认值,自动填充模式似乎没有我希望的那么有用:如果我在段落中间插入一个句子,只有当前行被重新填充。当我插入一个句子时,我希望重新填充整个段落。

问题:如何在我的 .emacs 文件中设置auto-fill-function(或可能 normal-auto-fill-function),以便在单行溢出时重新填充段落?我尝试将其设置为fill-paragraph,但随后我无法在段落末尾插入任何空格(例如,添加另一个单词)。

更多细节:我主要在 LaTeX 的 AUCTeX 主要模式中使用自动填充模式。

用于状态的内置 Emacs 文档auto-fill-mode

启用时auto-fill-modeauto-fill-function变量为非nil.

的值normal-auto-fill-function指定auto-fill-function打开自动填充模式时要使用的功能。

normal-auto-fill-function变量的文档说,auto-fill-function如果打开自动填充模式,它是要使用的函数,并且初始值为do-auto-fill.

4

2 回答 2

2

你不妨试试refill-mode。但总的来说,要使这样的功能正常工作是很棘手的。另一种方法是仅将重新填充作为重新显示的一部分(即不影响缓冲区的实际内容)。为此,请尝试设置word-wrap或启用visual-line-mode.

于 2013-06-18T20:10:23.263 回答
1

对于 LaTeX 文件,您可以尝试(需要 AUCTeX)

(add-hook 'LaTeX-mode-hook '(lambda ()
                  (setq auto-fill-function 'LaTeX-fill-paragraph)))

但请谨慎使用。

于 2013-06-18T20:50:56.313 回答