在 Emacs 配置文件中设置截断和换行

在 Emacs 配置文件中设置截断和换行

我在 Debian GNU/Linux 变体发行版中使用 Emacs 23。在使用以下命令启动的默认 Emacs 会话中emacs -q(确认设置),我执行以下操作来设置我想要的环境:

 M-x toggle-truncate-lines <RET>
 M-x set-variable word-wrap t <RET>

我将visual-line-mode其保留为默认设置。

我想将这些设置放入我的 ~/.emacs 文件中,以便它们始终处于活动状态。我使用以下命令执行此操作:

(setq word-wrap t)
(setq-default truncate-lines nil)
(setq visual-line-mode nil)

但是,这些设置无法复制我想要的环境。长行不会换行——它们会超出右边缘。如果我运行,M-x toggle-truncate-lines它们会按我想要的方式换行,但不会在单词边界上换行,因此 word-wrap 设置也没有生效。我也尝试truncate-lines在 ~/.emacs 中设置为t,但这没有什么区别。 的文档内容truncate-lines如下,因此将此变量设置为nil似乎是我正在寻找的:

*Non-nil means do not display continuation lines.
Instead, give each line of text just one screen line.

我没有水平分割任何窗口,因此truncate-partial-width-windows不适用。

如何在 ~/.emacs 中设置我想要的环境?

答案1

如果给 toggle-truncate-lines 一个负参数,它总是关闭截断。

所以:

(setq-default word-wrap t)
(toggle-truncate-lines -1)

答案2

如果你只是想复制函数调用的行为toggle-truncate-lines,为什么不这样做呢:

(toggle-truncate-lines)

在你的~/.emacs档案里?

当然,您也可以将其放入(setq word-wrap t)其中,尽管我认为您应该这样做(setq-default word-wrap t),因为变量word-wrap在任何方式设置时都会变成缓冲区局部的。

相关内容