设置默认的 Emacs 窗口边距

tar*_*iqk 7 emacs elisp

我正在尝试模拟暗房模式Emacs 模式的某些行为——特别是边距设置。

我已经找到了一个难题——具体来说,要更改窗口边距,我可以 eval (set-window-margins nil <left margin> <right margin>)

这很好,但我注意到更改只发生在当前窗口中,如果我使用 Cx 向左或向右箭头键切换到不同的缓冲区,实际上会回到默认边距。

我想弄清楚如何执行以下操作:

  • 设置它以便所有缓冲区获得相同的窗口边距设置。
  • 设置它以便更改窗口后边距设置仍然存在。

我知道这可能涉及使用钩子,但我不确定要使用哪些钩子。

Dre*_*rew 7

在您的 init 文件 (~/.emacs) 中执行此操作 - 使用您想要的任何值代替 10 和 8:

 (setq-default left-margin-width 10 right-margin-width 8) ; Define new widths.
 (set-window-buffer nil (current-buffer)) ; Use them now.
Run Code Online (Sandbox Code Playgroud)