如何配置 Emacs 以使换行不会在单词中间中断?
Alt
+ X
、toggle-truncate-lines
(制表符补全有效)将为当前文档关闭自动换行。要使其永久化,vi ~/.emacs
并添加此行:(set-default 'truncate-lines t)
(是的,只有一个单引号)。
如果您想模拟记事本等编辑器的行为,您可能需要打开可视行模式。虽然设置 word-wrap 会导致在单词边界处换行,但您对一行执行的任何操作(例如,向上/向下移动或终止)仍将尊重换行符。视觉线模式会将每条显示线视为最后有一个换行符。
(visual-line-mode t)
在 .emacs 文件中添加的行:
(global-visual-line-mode t)
Mx toggle-truncate-lines disable 允许您在视觉上禁用换行。
Mx 自动填充模式 + Mq 允许您为真实的预先存在的段落自动换行。
M-q
运行 fill-paragraph
,它将换行已经存在的文本行。变量 fill-column
确定换行文本的行长。
将此添加到您的初始化文件中:
(setq-default word-wrap t)
或者,在 Emacs 中按 Ch vword-wrap
并点击末尾附近的“自定义”链接。
~/.emacs
吗?
我最近才发现 longlines-mode(我想我是在深入研究 Emacs Info 文档)。它会像您在其他 UI 编辑器的自动换行功能中所期望的那样换行。当我阅读或编写不带换行符的自由文本(a la Microsoft Word)时,它特别有用,而没有使用 M-x toggle-word-wrap
时发生的丑陋的中间换行。
请参阅 LongLines。
我的配置:
(setq longlines-wrap-follows-window-size t)
(global-set-key [(control meta l)] 'longlines-mode)
visual-line-mode
,但对kill-line
的方式感到恼火,然后只杀到换行,所以对于长文本行(即段落!)我不得不反复调用它来删除该行。所以现在我用(setq-default word-wrap t)
代替;这启用了换行,但kill-line
仍然会杀死整行。当然,您可能不同意这是首选行为,但对我来说肯定是。