我在 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
在任何方式设置时都会变成缓冲区局部的。