将 org 看成文字处理器
经常有人问我同一个问题:
Hi, 很感谢你在 youtube 上的视频,我看了之后有两个问题想问一下:
- 你在 这个视频 中是如何做到显示图片的?
- 如何向这个视频中那样,做到让 org-mode 的标题有更大的字体和不同的颜色?
我从未有意将 Org Mode 变得看起来或者操作上就像一个文字处理软件一样, 只是时不时的做一些小的调整,结果就成这样了。 虽然我所有的代码都在我的 dot-files 仓库中能找到,但是我还是觉得将相关代码抽取出来比较好些。
仅仅显示斜体字就好
/org italic/
看起来就好像是斜体字被正则表达式的分隔符所包围了一样。 隐藏这些标记很简单
(setq org-hide-emphasis-markers t)
记住,这些斜杠字符(用于标示粗体的星号等其他字符也是一样) 依然存在的,只是没有显示出来而已。
想要修改这些标记也很简单,只要在之上按退格键就行。
- 更好看的符号列表标记
用星号和破折号来作为符号列表的标记挺好的, 但是使用一个真正的圆形符号来作标示也不错:
(font-lock-add-keywords 'org-mode
'(("^ +\\([-*]\\) "
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
这段代码将所有行中匹配指定正则表达式的内容都显示为一个 Unicode 的圆形符号,该段正则的意思是 以 1 个或多个空格开头,紧接着是一个破折号或一个星号,再又是一个
。
更好看的标题符号标记
当我刚开始从 Markdown 切换到 org-mode 时, 很看不惯标题的显示方式。 最高层标题由一个符号标记看起来还行(just not really a header),但是下面的子标题由多个符号标记。 这也是为什么我喜欢 org-bullets 项目的原因。
从 MELPA 上安装 org-bullets 之后, 只需要将下面这段代码添加到你的 .emacs
初始化文件中去就行:
(require 'org-bullets)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))
更好看的标题
我赞同 EMagicians Starter Kit 中的做法,尤其是它让 headers 变得更大而不是换个颜色。 我的代码有点繁琐,还可以进行很大的简化:
(let* ((variable-tuple (cond ((x-list-fonts "Source Sans Pro") '(:font "Source Sans Pro"))
((x-list-fonts "Lucida Grande") '(:font "Lucida Grande"))
((x-list-fonts "Verdana") '(:font "Verdana"))
((x-family-fonts "Sans Serif") '(:family "Sans Serif"))
(nil (warn "Cannot find a Sans Serif Font. Install Source Sans Pro."))))
(base-font-color (face-foreground 'default nil 'default))
(headline `(:inherit default :weight bold :foreground ,base-font-color)))
(custom-theme-set-faces 'user
`(org-level-8 ((t (,@headline ,@variable-tuple))))
`(org-level-7 ((t (,@headline ,@variable-tuple))))
`(org-level-6 ((t (,@headline ,@variable-tuple))))
`(org-level-5 ((t (,@headline ,@variable-tuple))))
`(org-level-4 ((t (,@headline ,@variable-tuple :height 1.1))))
`(org-level-3 ((t (,@headline ,@variable-tuple :height 1.25))))
`(org-level-2 ((t (,@headline ,@variable-tuple :height 1.5))))
`(org-level-1 ((t (,@headline ,@variable-tuple :height 1.75))))
`(org-document-title ((t (,@headline ,@variable-tuple :height 1.5 :underline nil))))))
上面代码的第一步是选择一个字体。 你需要修改这些字体为你自己所喜欢的那些字体。
总结
让我们将 Emacs 退出全屏模式,然后加载一个文件来展示一下这些设置的效果:
上图中的淡蓝色部分是被标示为了代码 (我之所以改颜色是因为我默认使用了等宽字体)。 此外,在这张屏幕截图中,我使用的主题是 Tomorrow
,字体用的 Hasklig
。 如果我有什么遗漏或者你有什么好技巧请告诉我,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 将 Emacs 作为 X 剪切板管理器
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论