在所有缓冲区中截断Emacs的行

15

我应该在我的.emacs文件中加入什么内容,以便所有类型的缓冲区中的所有行都始终截断,如果行过长。我这样做主要是因为我倾向于打开许多窗口,并且如果我的80个字符行被换行两次或三次,那么在小屏幕上阅读会变得困难。

3个回答

29

尝试在每个缓冲区中使用 M-x toggle-truncate-lines 命令,看看它是否符合你的要求。

.emacs文件中添加以下内容,可以使其成为所有缓冲区的默认设置。

(setq-default truncate-lines t)

你可能还喜欢:

(setq-default global-visual-line-mode t)

你可以使用 M-x visual-line-mode 来试用它(它也可以切换开关)。

EmacsWiki 参考资料:visual-line-modetruncate-lines


很奇怪,因为我以前尝试过截断行但似乎没有用,也许是我搞错了什么,谢谢 :) - Jesus Ramos
1
(global-visual-line-mode 1) ; 1 for on, 0 for off. - AesopHimself
2
我不知道为什么 (setq-default truncate-lines t) 在我的情况下不起作用,但是 M-x toggle-truncate-lines 起作用了。@ocodo - alper
2
(setq-default truncate-lines t) 在我的情况下没有起作用 @ocodo - alper
2
正如其他人所指出的那样,(setq-default truncate-lines t) 不起作用。 - Wouter Beek
显示剩余3条评论

2
在你的主emacs配置文件.emacs.emacs.el.emacs.d/init.el(取决于你将主emacs配置文件放在哪里),写入以下内容:
(custom-set-variables
  '(truncate-lines t))

custom-set-variables可能已经存在,所以只需将'(truncate-lines t)添加到列表中即可。 这样,您的配置文件保持清洁。

或者你可以挂钩一个按键绑定,像这样:

(local-set-key (kbd "C-x w") 'toggle-truncate-lines)

所以当行过长影响视觉时,可以使用截断功能。

(global-set-key "\C-x\ w" 'toggle-truncate-lines) 也可以工作。 - alper
1
与被接受的答案一样,这个答案中的解决方案(custom-set-variables '(truncate-lines t))对我也不起作用。 - Wouter Beek

0
如果 (setq-default truncate-lines t) 没有生效,可能是因为你处于另一个主要模式下,例如 markdown-mode 等。在这种情况下,以下方法适用于我。(我在 Mac 上测试了 Emacs v28.1 / Doom Emacs)
;; in init.el, etc...
;; word-wrapping off
(setq-default truncate-lines t)
;; for markdown-mode
(add-hook 'markdown-mode-hook (lambda () (setq truncate-lines t)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接