启动 Org Mode 设置字体和主题配置

发布于 2024-10-01 22:25:37 字数 4421 浏览 24 评论 0

这是一个简短的帖子发表在我在 /r/unixporn 中的 一片帖子中 ,在该帖子中我说明了如何配置 Org mode 使之看起来像是文字处理器一样。
其目的是重启一个我之前发起的一个 比赛 。下面展示的是它实际的样子。

该外观的灵感来自于 Edward Tufte 在他书中所使用的风格。

在 github 上可以免费复制其 CSS 样式,项目名为 tuft-css 。除了适当的间距和页边距之外,我还很喜欢 Tufte 的字体 ET Book 。 这款字体是一种旧式的衬线字体,它的斜体十分漂亮。

图 2: Et Book 字体

首先,我们需要一个好看的浅色配色方案,使 Org 模式除了字体外的其他的 face 看起来都很不错。

我选择了 spacemacs-light ,主要是因为我使用 spacemacs,而且就本文所涉及的 face 数量而言,它也相当完备的。

此外,它还有一个良好的灰白色背景( #fbf8ef )。这里涉及三个基本步骤:

  • 设置 face 和主题
  • 填充物
  • 其他 Org-mode 的可视化和可用性调整

1 Faces

I have set the variable-pitch font to be EtBembo (along with title and stuff) and enable variable-pitch-mode when in an org buffer.
我们将为 org mode 主体设置使用 Et Book(名为 EtBembo ) 字体。你可以在 此处 获取该字体。
如果您用的是 spacemacs,最简单的方法是使用 spacemacs 中的 theming layer 来设置 face。
我的 face 配置在 这里 。对于每个 face 来说,属性的第二个值是 light 主题(spacemacs-light) 所使用的值。
我已经将 variable-pitch 字体设置为 EtBembo (标题和内容都是如此设置的),并在 org buffer 中启用 variable-pitch-mode .

请注意,与其他 face 设置不同, Org-indent(:inherit (org-hide fixed-pitch)) 有一个重要的作用,就是将 Org 标题下的文本以非 monospace 字体对齐,所以不要忘了设置它。

2 内容填充物

有几个地方可以让你获得一些喘息的空间。

  • 行间距:每个缓冲区的行间距可以使用变量 line-spacing 来设置。可以使用小数,比如 0.1。
  • 顶部留白:与 mode-line 类似,Emacs 的每个窗口也有 header-line 。将其格式设置为空字符串 (setq header-line-format " ") 会给你一个用空白填充的顶部空间。你还可以通过改变 header-line face 的高度来改变其间距。
  • 侧面留白:可以通过设置边距宽度来添加边距。您还需要重置 buffer 以使更改可见。下面是一个这样的函数:
  (lambda () (progn
               (setq left-margin-width 2)
               (setq right-margin-width 2)
               (set-window-buffer nil (current-buffer))))

如果您需要填充整个 frame,以便所有内容(包括 mode-line) 都能进入填充视图,您可以设置 internal-border-width 变量。

I don't use it much since my current settings reproduce pretty much what I need from it. Nevertheless, here is some config for writeroom.

你也可以试试 writeroom-mode ,它使写入 buffer 更干净,并且有许多与填充相关的设置。 一个巧妙的特性是它会使缓冲区文本居中并隐藏 mode line。
我不经常使用它,因为我当前的设置从中拷贝了我所需要的东西。

不过, 这里有一些 writeroom 的相关配置

3 其他调整

不管你的 mode line 上显示了什么信息,如果你的目标是没有干扰,那么它很可能需要被关闭。 Spacemacs 提供了一个 minor mode hidden-mode-line-mode 来隐藏 mode line,可以将其添加到 org hook 上。其他一些次要的设置如下:

  (setq org-startup-indented t
        org-bullets-bullet-list '(" ")
        org-ellipsis "  "
        org-pretty-entities t
        org-hide-emphasis-markers t

        org-agenda-block-separator ""
        org-fontify-whole-heading-line t
        org-fontify-done-headline t
        org-fontify-quote-and-verse-blocks t)

还可以尝试在 org-mode 中禁用 hl-line-mode ,因为变化的行高度会使这些高光看起来很糟糕。
安装 org-pretty-table-mode 让表格边框变得漂亮。其他东西,比如 latex ( org-latex-toggle-fragment ) 和图片预览( org-image-toggle-inline ) 都是 org 自带的。

这里 是我的 Emacs 配置中本文相关的快照。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
24 人气
更多

推荐作者

漫雪独思

文章 0 评论 0

垂暮老矣

文章 0 评论 0

鹊巢

文章 0 评论 0

萌酱

文章 0 评论 0

雨说

文章 0 评论 0

冰葑

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文