启动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配置中本文相关的快照。