当前位置: 首页 > news >正文

Emacs折腾日记(三十二)——org mode的基本美化

在上一篇,已经介绍了org mode的基础知识,它与markdown非常相似,并且也十分容易上手,但是它的可扩展性比markdown要强很多。如果将来打算重度使用org mode,那么此时可以对它进行一些基本的配置和美化

基本配置

org mode 的配置可以通过Emacs自带的org 包来进行管理,可以配置一些标签显示的图形以及一些特殊语句块的高亮

(use-package org:ensure nil:mode ("\\.org\\'" . org-mode):hook ((org-mode . visual-line-mode)(org-mode . my/org-prettify-symbols)):commands (org-find-exact-headline-in-buffer org-set-tags):custom-face;; 设置org mode标题以及美级标题行的大小(org-document-title ((t (:height 1.75 :weight bold))))(org-level-1 ((t (:height 1.4 :weight bold))))(org-level-2 ((t (:height 1.35 :weight bold))))(org-level-3 ((t (:height 1.3 :weight bold))))(org-level-4 ((t (:height 1.25 :weight bold))))(org-level-5 ((t (:height 1.2 :weight bold))))(org-level-6 ((t (:height 1.15 :weight bold))))(org-level-7 ((t (:height 1.1 :weight bold))))(org-level-8 ((t (:height 1.05 :weight bold))))(org-level-9 ((t (:height 1.0 :weight bold))));; 设置代码块用上下边线包裹(org-block-begin-line ((t (:underline t :background unspecified))))(org-block-end-line ((t (:overline t :underline nil :background unspecified)))):config;; 设置org mode中某些标签的显示字符(defun my/org-prettify-symbols()(setq prettify-symbols-alist'(("[ ]" . 9744) ;; ☐("[x]" . 9745) ;; ☑("[-]" . 8863) ;; ⊟("#+begin_src" . 9998) ;; ✎("#+end_src" . 9633) ;; □("#+results:" . 9776) ;; ☰("#+attr_latex:" . "🄛")("#+attr_html:" . "🄗")("#+attr_org:" . "🄞")("#+name:" . "🄝")("#+caption:" . "🄒")("#+date:" . 128197) ;; 📅("#+author:" . 128100) ;; 💁("#+setupfile:" . 128221) ;;📝("#+email:" . 128231) ;;📧("#+startup" . 10034) ;; ✲("#+options:" . 9965) ;; ⛭("#+title:" . 10162) ;; ➲("#+subtitle:" . 11146) ;; ⮊("#+downloaded" . 8650) ;; ⇊("#+language:" . 128441) ;;🖹("#+begin_quote" . 187) ;; »("#+end_quote" . 171) ;; «("#+begin_results" . 8943) ;; ⋯("#+end_results" . 8943) ;; ⋯))(setq prettify-symbols-unprettify-at-point t)(prettify-symbols-mode 1)):custom(org-fontify-whole-heading-line t);; 设置折叠符号(org-ellipsis " ▾"))

上述配置比较简单,核心部分就是我们使用 prettify-symbols-alist 来使将这些特定的 property 字符串替换成更加美观的图标。它是一个列表,列表种的每个子元素又是一个cell,用cell的两个元素来表示替换关系。
配置之后,一个org文件大致的效果如下:
org mode

org-modern 美化

为了使文档的显示效果更好,我们需要依靠一个名为 org-modern 的插件,它是一个为Emacs Org模式提供现代化视觉美化的项目,它通过精心设计的样式和布局,能够显著的提升Org文档的可读性和美观度。我们可以使用 use-package 直接安装

(use-package org-modern:ensure t:hook (after-init . (lambda ()(setq org-modern-hide-stars 'leading)(global-org-modern-mode t))):config;; 定义各级标题行字符(setq org-modern-star ["◉" "○" "✸" "✳" "◈" "◇" "✿" "❀" "✜"])(setq-default line-spacing 0.1)(setq org-modern-label-border 1)(setq org-modern-table-vectical 2)(setq org-modern-table-horizontal 0);; 复选框美化(setq org-modern-checkbox'((?X . #("▢✓" 0 2 (composition ((2)))))(?- . #("▢–" 0 2 (composition ((2)))))(?\s . #("▢" 0 1 (composition ((1)))))));; 列表符号美化(setq org-modern-list'((?- . "•")(?+ . "◦")(?* . "▹")));; 代码块左边加上一条竖边线(setq org-modern-block-fringe t);; 属性标签使用上述定义的符号,不由 org-modern 定义(setq org-modern-block-name nil)(setq org-modern-keyword nil))

现在org 文档显示的就更加漂亮了

org modern

到此我们对org-mode 显示的效果进行了初步的美化,现在的文档看起来比原始的要好看多了,用org来编写文档至少也显得赏心悦目了。

http://www.hskmm.com/?act=detail&tid=29561

相关文章:

  • 2025 工业风机十大品牌全景解析报告:覆盖离心风机,防爆风机,矿用风机的最新推荐
  • 2.3 深度 Q 网络(Deep Q-Network, DQN)
  • Linux存储媒介devmount
  • Linux系统目录(文件)结构
  • 实用指南:如何读懂Mach-O:构建macOS和iOS应用安全的第一道认知防线
  • vim配置使用
  • shell高级
  • shell流程控制
  • shell展开shell数组
  • shell排错
  • 原木
  • 格式化输出与文本处理
  • 2025年10月镀锌卷板厂家最新推荐排行榜,有花镀锌卷板,无花镀锌卷板,高锌层镀锌卷板,批发镀锌卷板公司推荐
  • React 19.2 重磅更新!这几个新特性终于来了
  • Akka.NET高性能分布式Actor框架完全指南
  • 基于Docker搭建MySQL Cluster
  • 2025 年抗氧剂厂家最新推荐排行榜,聚酯防黄变抗氧剂,透明膜防晶点抗氧剂,PC聚碳防黄变抗氧剂公司推荐!
  • PaddleX服务化部署精度低于命令行调用的原因及解决方案 - 指南
  • 某中心与华盛顿大学公布机器人研究奖项与学者名单
  • 会话跟踪方案
  • 阻塞、非阻塞、同步、异步的区别是什么?
  • 如何防范员工泄露数据给 AI?2025年选型与落地实战版
  • Linux文本编辑三剑客之grep
  • Linux文本编辑三剑客之sed
  • 做了项目经理才发现:上台发言,其实都有套路
  • 占位符
  • 什么是IO多路复用?
  • 进程、线程和协程之间的区别和联系
  • 挣点小钱的副业(附带新手教程)0元的快乐
  • Linux文本编辑三剑客之awk