emacs 内容居中显示

举例:elfeed-entry buffer 显示文章时,是居左显示的文章,不习惯。怎么设置成居中显示。如果有可以讲一下原理吗,是像 html 哪样设置 margin padding吗? 感谢你的帮助

1 个赞

给elfeed-entry-mode hook 一个 dark-room试试,我在org和md中使用这个包,你这个我没试过,不过你可以试试。

1 个赞

没这个(或类似)功能,一个 Workaround 大致是在每行行首插入一定量的空格,使其看起来居中,不过这应该代价不菲(感觉实现代码就烦,估计还会变慢),不如适应之,又或者换个思路,你把 Frame 或 Window 宽度调到内容宽度,M-x fit-frame-to-buffer,那么也是居中的。

1 个赞

内置有命令 M-x center-paragraph , center-region, center-line 可以居中, 但是加空格的方法, 会改变原始的内容

参考olivetti,可以通过加宽fringe实现居中:

(set-window-margins (selected-window) 40 40)

当然olivetti里面的左右fringe宽度是计算的。

5 个赞

又学到了一个新函数,把它加到了 elisp-demos 里了:

1 个赞

这个方案不太适合,每次都要变。

这个简单好用

这个很好用,很强大。感谢

GitHub - mpwang/perfect-margin: [emacs] auto center emacs windows, work with minimap and/or linum-mode 这个也可以

3 个赞

这个 writeroom-mode 也可以居中显示。

尝试了 Olivetti 和 writeroom-mode,感觉还是 wiriteroom-mode 更好用,因为它没有改变 fringe 的位置和宽度。

如果同时还使用了 diff-hl 等需要在 fringe 上显示内容的包,那么用 Olivetti 就会很难受了。

这个确实好用,还能兼顾左右分屏👍