2013-06-18 49 views
1

动机:使用默认设置,自动填充模式看起来不像 所希望的那样有用:如果我在段落中间插入句子,则只会重新填充当前的 行。当我插入一句话时,我希望整个段落都被重新填满。用自动填充模式自动重新填充整个段落?

问题:如何才能在我的.emacs设定auto-fill-function(或者 normal-auto-fill-function) 文件,这样,该段被重新填充,每当一行溢出? 我试着将它设置为fill-paragraph,但是我不能在段落的末尾插入任意空格(例如,添加另一个单词)。

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

内置在Emacs文档auto-fill-mode状态:

auto-fill-mode开启时,auto-fill-function变量是 非nil

normal-auto-fill-function的值指定在启用自动填充模式时使用 代替auto-fill-function的功能。

normal-auto-fill-function变量 文档说,这是用于auto-fill-function如果自动填充模式的功能 打开,并且初始值是do-auto-fill

回答

1

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

+0

感谢您的提示!我会尝试这些模式。 –

0

乳胶文件,您可以尝试(需要AUCTeX)

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

但谨慎使用。