如何仅为代码注释打开emacs自动填充模式?

时间:2010-12-18 08:44:12

标签: emacs dot-emacs autofill

我试过了

(set (make-local-variable 'comment-auto-fill-only-comments) t)

以及

(auto-fill-mode 0)

虽然令人惊讶,但重新启动emacs后,这些都不起作用。

我正在使用eschulte's emacs starter kit

使用M-x自动填充模式切换它可以正常工作。


更新

结合使用(感谢Rémi):

(auto-fill-mode 1)
(setq comment-auto-fill-only-comments t) 

它在编程文件中完美运行,其中有注释。但是,在文本模式下,它会自动填充到处。

如何在文本文档内完全关闭自动填充模式?

1 个答案:

答案 0 :(得分:12)

如果您希望Emacs自动填充注释,则不得对本地变量进行注释 - 自动填充 - 注释:

(setq comment-auto-fill-only-comments t)

如果您只想在某种模式下使用它,但并非所有模式都需要将它添加到正确的钩子中:

(add-hook 'ruby-mode-hook 
          (lambda () ((set (make-local-variable 'comment-auto-fill-only-comments) t)))

更新回答

要从文本模式中删除自动填充,您必须使用hook:

(add-hook 'text-mode-hook 
          (lambda () (auto-fill-mode -1)))

请注意,这将改变模式导出文本模式下的自动填充状态(乳胶模式就是一个例子,还有很多其他这样的模式)