Emacs设置自动换行
本文为和AI大模型Kimi的对话记录,仅供参考。
解决一个Emacs使用中的小问题。
User: Emacs如何设置自动换行,当输入的时候一行内容太长,可以自动换到第二行,不用每次都用M+Q。
Kimi: 在 Emacs 里“边打边自动换行”其实只需要把两个变量打开即可,完全不需要 M-q。把下面几行写进配置(~/.emacs 或 ~/.config/emacs/init.el)即可一劳永逸:
;; 1. 到达窗口右边界时自动折行(只是“视觉”换行,不插 \n)
(global-visual-line-mode 1) ; 对所有缓冲区生效
;; 2. 让折行发生在“单词”边界,而不是硬生生劈开单词
(setq-default word-wrap t)
;; 3. 如果你希望折行后缩进跟上一行对齐,可再加
(setq-default adaptive-fill-mode t) ; 继承前导空格
说明
visual-line-mode是 Emacs 23 以后自带的“软换行”功能,开启后光标到达窗口边缘会自动折到下一行,文件里仍是物理一行。word-wrap保证折行尽量在单词空格处断开,不会把单词劈成两半。- 如果你只是偶尔想开关,也可以:
- 当前缓冲区临时开关:
M-x visual-line-mode - 当前缓冲区临时关:
M-x toggle-truncate-lines(变成横向滚动)
- 当前缓冲区临时开关:
这样以后无论写文本还是写代码,一行再长也会自动折行显示,完全不用再手动 M-q。
浙公网安备 33010602011771号