使用自动填充模式自动重新填充整个段落?

时间:2013-06-18 19:54:50

标签: emacs word-wrap dot-emacs

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

问题:我如何设置auto-fill-function(或者也许 {。{1}})在我的.emacs中 文件,以便只要一行溢出就重新填写段落? 我尝试将其设置为normal-auto-fill-function,但之后我无法在段落末尾插入任何空格(例如,添加其他字词)。

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

fill-paragraph状态的内置Emacs文档:

  

启用auto-fill-mode时,auto-fill-mode变量为。{1}}   非 - auto-fill-function

     

nil的值指定要使用的函数   在启用自动填充模式时normal-auto-fill-function

auto-fill-function变量的文档 如果是自动填充模式,它是normal-auto-fill-function使用的功能 打开,初始值为auto-fill-function

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

但请谨慎使用。