完整教程:org-modern的25个核心配置选项详解
【免费下载链接】org-modern:unicorn: Modern Org Style项目地址: https://gitcode.com/gh_mirrors/or/org-modern
org-modern是一款为Emacs Org模式提供现代风格的插件,通过字体锁定和文本属性实现了对标题、关键词、表格和源代码块的美化。本文将详细解析其25个核心配置选项,帮助你打造个性化的Org文档编辑环境。
一、基础设置与启用方式
快速启用配置
org-modern提供两种启用方式,可根据需求选择全局启用或按缓冲区启用:
;; 方式1:全局启用 (with-eval-after-load 'org (global-org-modern-mode)) ;; 方式2:仅在Org缓冲区启用 (add-hook 'org-mode-hook #'org-modern-mode) (add-hook 'org-agenda-finalize-hook #'org-modern-agenda)建议搭配字体设置以获得最佳效果,推荐使用Iosevka系列字体:
(set-face-attribute 'default nil :family "Iosevka Term Curly") (set-face-attribute 'org-modern-symbol nil :family "Iosevka")二、标题样式配置
1. org-modern-star - 标题星号样式
控制标题星号的显示风格,支持三种模式:
nil:禁用样式fold:显示折叠指示器(如"▶"表示折叠,"▼"表示展开)replace:使用自定义符号替换星号
默认值:'fold
2. org-modern-cycle-stars - 深层标题循环样式
当标题层级超过符号数量时是否循环使用符号,设为nil则对深层标题使用最后一个符号。
默认值:nil
3. org-modern-replace-stars - 星号替换符号
当org-modern-star设为replace时,用于替换各级标题星号的符号字符串。
默认值:"◉○◈◇✳"
4. org-modern-fold-stars - 折叠指示器
当org-modern-star设为fold时,定义各级标题的折叠/展开指示器对。
默认值:
'(("▶" . "▼") ("▷" . "▽") ("⯈" . "⯆") ("▹" . "▿") ("▸" . "▾"))5. org-modern-hide-stars - 星号隐藏设置
控制星号的显示方式,支持多种模式:
nil:不隐藏星号t:隐藏所有星号leading:隐藏前导星号- 字符串/字符:用指定字符替换前导星号
默认值:'leading
三、列表与复选框配置
6. org-modern-list - 列表符号替换
定义列表项符号的替换规则,是一个字符到字符串的映射表。
默认值:
'((?+ . "◦") (?- . "–") (?* . "•"))7. org-modern-checkbox - 复选框样式
自定义复选框的显示样式,支持三种状态:已勾选、部分勾选和未勾选。
默认值:
'((?X . "☑") (?- . #("□–" 0 2 (composition ((2))))) (?\s . "□"))四、时间戳与进度配置
8. org-modern-timestamp - 时间戳美化
控制时间戳的显示样式,支持自定义格式:
nil:禁用美化t:启用默认美化- 自定义格式:如
(" %Y-%m-%d " . " %H:%M ")
默认值:t
9. org-modern-progress - 进度条宽度
设置进度条的字符宽度,设为nil则禁用进度条显示。
默认值:12
五、表格样式配置
10. org-modern-table - 表格美化开关
是否启用表格美化功能。
默认值:t
11. org-modern-table-vertical - 表格竖线宽度
设置表格竖线的像素宽度,设为nil则隐藏竖线。
默认值:3
12. org-modern-table-horizontal - 表格横线样式
设置表格横线的美化程度,使用数值控制线条粗细。
默认值:0.1
六、块与关键词配置
13. org-modern-block-name - 块名称美化
控制#+begin_*和#+end_*块的显示样式,支持多种自定义方式。
默认值:t(隐藏#+begin_和#+end_前缀)
14. org-modern-block-fringe - 块边缘边框
在块的边缘添加边框,可设置为布尔值或整数(指定偏移量)。
默认值:2
15. org-modern-keyword - 关键词美化
美化#+keyword:格式的关键词,支持隐藏前缀或自定义替换符号。
默认值:t(隐藏#+前缀)
七、标签与优先级配置
16. org-modern-tag - 标签美化
是否美化标题中的标签(如:tag1:tag2:)。
默认值:t
17. org-modern-priority - 优先级美化
控制优先级(如[#A])的显示样式,支持自定义符号替换。
默认值:t
18. org-modern-label-border - 标签边框宽度
设置标签边框的宽度,支持像素值或字符高度的百分比。
默认值:0.1
八、TODO与状态配置
19. org-modern-todo - TODO关键词美化
是否美化TODO关键词(如TODO、DONE等)。
默认值:t
20. org-modern-todo-faces - TODO关键词颜色
为不同TODO关键词设置自定义颜色和样式。
默认值:nil
示例配置:
(setq org-modern-todo-faces '(("TODO" :background "red" :foreground "yellow") ("DONE" :background "green" :foreground "white")))九、链接与脚注配置
21. org-modern-footnote - 脚注美化
自定义脚注的显示样式,包含定义和引用两部分。
默认值:(cons nil (cadr org-script-display))
22. org-modern-internal-target - 内部链接样式
美化内部链接目标(如<<introduction>>)的显示。
默认值:'(" ↪ " t " ")
23. org-modern-radio-target - 广播链接样式
美化广播链接目标(如<<<radio>>>)的显示。
默认值:'(" ⛯ " t " ")
十、其他视觉配置
24. org-modern-horizontal-rule - 水平线美化
控制水平线(-----)的显示样式。
默认值:t
25. org-modern-symbol - 符号字体设置
为特殊符号(如星号、复选框)设置专用字体。
默认值:nil(继承默认字体)
十一、推荐配置组合
以下是一个完整的推荐配置,可根据个人喜好调整:
(use-package org-modern :ensure t :hook (org-mode . org-modern-mode) :config (setq ;; 标题设置 org-modern-star 'replace org-modern-replace-stars "●○◆◇▪" org-modern-hide-stars 'leading ;; 列表设置 org-modern-list '((?+ . "◦") (?- . "•") (?* . "⁃")) org-modern-checkbox '((?X . "✓") (?- . "◔") (?\s . "◻")) ;; 表格设置 org-modern-table t org-modern-table-vertical 2 org-modern-table-horizontal 0.2 ;; 块设置 org-modern-block-name '("▸ " . "◂ ") org-modern-block-fringe 3 ;; 其他设置 org-modern-timestamp '(" %Y-%m-%d " . " %H:%M ") org-modern-progress 15 org-modern-label-border 0.2))十二、注意事项与兼容性
- 与
org-indent-mode不兼容,启用时会自动禁用块边缘边框 - 与
org-num-mode存在冲突,会影响TODO关键词美化 - 依赖字体设置,建议使用等宽字体以获得最佳显示效果
- 可与
svg-tag-mode配合使用,实现更丰富的标签样式
通过合理配置这些选项,你可以打造出既美观又实用的Org模式编辑环境,提升文档编辑效率和视觉体验。更多高级用法可参考org-modern.el源代码或示例文件example.org。
【免费下载链接】org-modern:unicorn: Modern Org Style项目地址: https://gitcode.com/gh_mirrors/or/org-modern
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考