开发者

Disable auto fill mode in noweb-mode

开发者 https://www.devze.com 2022-12-08 07:06 出处:网络
Please for the love of god how can I make Emacs stop auto-filling? I use visual-line-mode, I do not want auto fill. I can turn it off with M-x auto-fill-mode RET but in Noweb mode it gets turned back

Please for the love of god how can I make Emacs stop auto-filling? I use visual-line-mode, I do not want auto fill. I can turn it off with M-x auto-fill-mode RET but in Noweb mode it gets turned back on when I move into a code chunk and back out again. Please, I just want to globally turn of auto fill mode, it's driving me crazy.

I've tried

(auto-fill-mode 0)

and a bunch of crazy 开发者_运维百科things like

(add-hook 'Rnw-mode-hook '(lambda () (auto-fill-mode 0)))
(add-hook 'latex-mode-hook '(lambda () (auto-fill-mode 0)))

But nothing seems to work. Please help me.


Instead of adding further hooks to your system, you should check if you could remove some to disable auto-fill.

If you see noweb-mode's source code, around line 211 you find this chunk:

(add-hook 'noweb-select-doc-mode-hook 'noweb-auto-fill-doc-mode)
(add-hook 'noweb-select-code-mode-hook 'noweb-auto-fill-code-mode)

To disable auto filling, put the following one or two lines in your dotemacs (depending on whether you want to disable auto-fill in both code and documentation).

(remove-hook 'noweb-select-doc-mode-hook 'noweb-auto-fill-doc-mode)
(remove-hook 'noweb-select-code-mode-hook 'noweb-auto-fill-code-mode)


OK, I worked out a hack that does the trick:

(setq auto-fill-mode -1)
(setq-default fill-column 99999)
(setq fill-column 99999)

If I can't turn off auto-fill mode, at least I can make it harmless by setting it to fill only in column 99999. I'll be annoyed if I type a paragraph with more than 99999 characters, but if that happens I'll have bigger things to worry about...


If you look at simple.el, at the very top text-mode-hook is defined, which is ultimately responsible for turning on this abomination (or at least, it was for me).

To get to simple.el and look for yourself: (C-h f, auto-fill-mode, click / follow simple.el link)

To disable, M-x customize-variable text-mode-hook

Screen shot

Uncheck turn-on-auto-fill. Be sure to click "Save for future sessions" at the top.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号