我刚刚尝试使用 Mx 实现 Gnu emacs 23 自动长行换行功能auto-fill-mode
。它运行完美。现在我修改了我的.emacs
文件,如下所示,让此功能始终处于打开状态,但它不起作用...
;;; Xemacs backwards compatibility file
(setq user-init-file
(expand-file-name "init.el"
(expand-file-name ".xemacs" "~")))
(setq custom-file
(expand-file-name "custom.el"
(expand-file-name ".xemacs" "~")))
(load-file user-init-file)
(load-file custom-file)
(global-linum-mode t)
;;; Scrollbar on the right
(set-scroll-bar-mode 'right)
;;; Open help file
(find-file "/home/manu/These/Docs/Emacs-Shortcuts")
(split-window-horizontally)
;;; Transparency
;;(set-frame-parameter (selected-frame) 'alpha '(<active> [<inactive>]))
(set-frame-parameter (selected-frame) 'alpha '(85 50))
(add-to-list 'default-frame-alist '(alpha 85 50))
;;; Auto fill to wrap long lines
(add-hook 'text-mode-hook 'turn-on-auto-fill)
我哪里错了?
答案1
根据Emacs 常见问题您可以仅为文本模式打开自动填充模式(适用于一般文本文件)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
如果您想要全局启用自动填充模式(针对所有模式),请将以下行添加到您的 ini 文件中:
(setq-default auto-fill-function 'do-auto-fill)
答案2
Emacs 23 具有visual-line-mode
,它不会更改文本,而是在显示缓冲区时在单词边界处换行。对于某些类型的文档,这比auto-fill-mode
,这会改变文本,因此会失去“软”换行符和“硬”换行符之间的区别。
visual-line-mode
您可以使用与 相同的方式自动开启auto-fill-mode
,例如:
(add-hook 'text-mode-hook 'turn-on-visual-line-mode)