Maj*_*ggs 4 emacs hook elisp margins
我发现改变emacs边距的唯一方法就是这样:
(add-hook 'window-configuration-change-hook
(lambda ()
(set-window-margins (car (get-buffer-window-list (current-buffer) nil t)) 24 24)))
Run Code Online (Sandbox Code Playgroud)
我想仅在文本模式下调用此设置,并在更改为其他模式时更改回来.有点天真,我试过这个:
(add-hook 'text-mode-hook
(lambda ()
(set-window-margins (car (get-buffer-window-list (current-buffer) nil t)) 24 24)))
Run Code Online (Sandbox Code Playgroud)
但它不起作用.只有在文本模式下缓冲区才能更改边距的正确代码是什么?
即使您可以使用设置边距set-window-margins,一旦您以任何方式更改窗口,它们就会丢失.更好的解决方案是设置变量left-margin-width和right-margin-width.例如:
(defun my-set-margins ()
"Set margins in current buffer."
(setq left-margin-width 24)
(setq right-margin-width 24))
(add-hook 'text-mode-hook 'my-set-margins)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2092 次 |
| 最近记录: |