窗口中的中心Emacs缓冲区

fli*_*fli 6 emacs

我将所有代码包装在80列,有时Emacs窗口宽度超过80列,右侧有很多未使用的空白.

我想定位Emacs缓冲区,所以所有文本都显示在窗口中间.

这与中心对齐文本不同(更类似于查看pdf时文本两侧的空白).

我认为这可以通过动态调整条纹模式宽度来实现,具体取决于当前窗口大小,但我不知道从哪里开始.有任何想法吗?

ryu*_*ash 10

如此处所示,这确实是可能的:

(set-fringe-mode
 (/ (- (frame-pixel-width)
       (* 80 (frame-char-width)))
    2))
Run Code Online (Sandbox Code Playgroud)

但是,当我测试这个时,我似乎更喜欢使用边距,至少在调整框架大小时:

(defun my-resize-margins ()
  (let ((margin-size (/ (- (frame-width) 80) 2)))
    (set-window-margins nil margin-size margin-size)))

(add-hook 'window-configuration-change-hook #'my-resize-margins)
(my-resize-margins)
Run Code Online (Sandbox Code Playgroud)