如何在Emacs

时间:2018-05-01 07:27:11

标签: emacs spacemacs

我知道自动填充emacs,这很好,我希望文本在特定宽度(例如编码时)有换行符时使用它。但是,在编辑和阅读文本时,我不想重新格式化文本(M-q)并插入换行符,因此在导出文本时看起来很奇怪,例如到电子邮件或Microsoft Word。

emacs'截断行'工作的工具?似乎是但我无法弄清楚如何设置截断线的宽度,它似乎只能截断屏幕宽度 - 这个或其他模式有设置吗?

(我使用的是spacemacs,但这不应该有很多相关性)

2 个答案:

答案 0 :(得分:1)

有一个代码解决了在emacs交换here中截断缓冲区少于wincow的wicth的问题。 看看@JeanPierre的回答。它使用set-window-margins查看emacs手册here

这是一个交互式功能,因此请在执行评估后使用M-x my/change-window-width来调用它。

(defun my/change-window-width (width)
"Adjust margins so that window is centered"
  (interactive "NWindow width: ")
  (if (= 0 width)
      (set-window-margins nil 0 0)
    (let* ((cur-width (window-width))
           (cur-m (window-margins))
           (cur-l (if (and cur-m (car cur-m)) (car cur-m) 0))
           (cur-r (if (and cur-m (cdr cur-m)) (cdr cur-m) 0))
           (lr (- (+ cur-l cur-r cur-width) width))
           (left (/ lr 2))
           (right (if (= 0 (% lr 2)) left (1+ left))))
      (set-window-margins nil (max left 0) (max right 0)))))

它是visual-line-mode中的函数的变体,请参阅doc here

要仅截断缓冲区的一部分,它看起来像填充列

答案 1 :(得分:0)

我通常使用

M 72 M-x set-fill-column

打破72列的行。这仍然会妨碍你不要将导入到Word"但问题是。如果您使用特定格式保存文件(例如,使用M-x xml-mode),那么我相信这可以帮助您解决导入问题。