启动 Org Mode 设置字体和主题配置
这是一个简短的帖子发表在我在 /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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论