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

news/2025/10/12 20:31:58/文章来源:https://www.cnblogs.com/lanuage/p/19137189

在上一篇,已经介绍了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.mzph.cn/news/935665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pp

ppimport numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split, KFold, cross_val_score from sklearn.linear_model imp…

2025 工业风机十大品牌全景解析报告:覆盖离心风机,防爆风机,矿用风机的最新推荐

本报告基于 2025 年行业权威数据,结合中国玻璃钢协会、美国国际空气运动及控制协会(AMCA)等机构的测评结果,从技术创新、性能表现、市场布局三大维度,对工业风机十大品牌进行全景解析,为企业选购适配冶金、石化、…

详细介绍:P3.7计算机视觉

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2.3 深度 Q 网络(Deep Q-Network, DQN)

深度 Q 网络(Deep Q-Network, DQN)深度神经网络在函数逼近中的局限性 值函数型深度强化学习的目标是使用深度神经网络(DNN)逼近每个状态–动作对的 Q 值。 网络可以有两种形式(见下图):以状态–动作对 \((s,a)\…

Linux系统目录(文件)结构

Linux系统目录(文件)结构下方表格转载自: http://billie66.github.io/TLCL/book/chap04.html/ 根目录,万物起源。/bin 包含系统启动和运行所必须的二进制程序。/boot 包含 Linux 内核、初始 RAM 磁盘映像(用于启动…

实用指南:如何读懂Mach-O:构建macOS和iOS应用安全的第一道认知防线

实用指南:如何读懂Mach-O:构建macOS和iOS应用安全的第一道认知防线pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &qu…

vim配置使用

vim配置使用 大多数 Linux 发行版不包含真正的 vi;而是自带一款高级替代版本,叫做 vim。通常,vim 在 Linux 系统中是“vi”的符号链接(或别名)。是一个模式编辑器。(插入模式,命令模式) 配置 全局配置一般在/e…

shell高级

shell高级 组命令和子 shell bash 允许把命令组合在一起。可以通过两种方式完成;要么用一个 group 命令,要么用一个子 shell。 组命令: { command1; command2; [command3; ...] }子 shell: (command1; command2; […

shell流程控制

shell流程控制 if if commands; thencommands [elif commands; thencommands...] [elsecommands] ficommands可以是test表达式[ expression ] [expression]表达式(不推荐) 测试文件表达式表达式 如果下列条件为真则返…

shell展开shell数组

shell展开&shell数组 参数展开 大多数的参数展开会用在脚本中,而不是命令行中。 基本参数 The simplest form of parameter expansion is reflected in the ordinary use of variables. 最简单的参数展开形式反映…

shell排错

shell排错 常见语法错误 =当做== #!/bin/bash number=1 if [ $number = 1 ]; thenecho "Number is equal to 1." elseecho "Number is not equal to 1." fiecho字符表达式丢失引号 #!/bin/bash nu…

原木

短线大概率有个C5

格式化输出与文本处理

格式化输出与文本处理以下和vim都是程序,但是以下所讲述的都是命令行工具,vim是一个编辑器,是有本质区别的文本应用程序 到目前为止,我们已经知道了一对文本编辑器(nano 和 vim),看过一堆配置文件,并且目睹了许…

2025年10月镀锌卷板厂家最新推荐排行榜,有花镀锌卷板,无花镀锌卷板,高锌层镀锌卷板,批发镀锌卷板公司推荐

在工业制造与建筑建材领域,镀锌卷板作为基础防腐材料,其品质直接影响终端产品的使用寿命与安全性能。当前市场上,镀锌卷板厂家数量众多,产品质量参差不齐:部分厂商存在锌层厚度不达标、加工时锌层易脱落等问题,导…

React 19.2 重磅更新!这几个新特性终于来了

大家好,我是 Immerse,一名独立开发者、内容创作者、AGI 实践者。 关注公众号:沉浸式趣谈,获取最新文章(更多内容只在公众号更新) 个人网站:https://yaolifeng.com 也同步更新。 转载请在文章开头注明出处和版权…

Akka.NET高性能分布式Actor框架完全指南

Akka.NET是.NET平台上功能完整的Actor模型实现,提供高性能的分布式计算能力。该项目包含完整的Actor系统、集群管理、持久化、流处理等核心功能,支持构建高并发、高可用的分布式应用程序。Akka.NET - .NET平台的Acto…

基于Docker搭建MySQL Cluster

1.整体介绍 1.1整体结构1.2搭建步骤搭建3个MySQL实例. 将3个MySQL实例组建集群. 搭建MySQL Router.2.搭建MySQL 2.1 MySQL配置文件及数据文件目录结构 /data └── mysql├── 3301 #存放数据目录├── 3302├── …

某中心与华盛顿大学公布机器人研究奖项与学者名单

某中心与华盛顿大学联合公布科学中心第二届学者名单及五项机器人研究奖项,涵盖机器人安全控制、深度强化学习、多机器人系统等前沿技术领域,并宣布加入云基础设施未来研究中心推动下一代云计算创新。某中心与华盛顿大…

会话跟踪方案

Cookie 什么是Cookie?概念:存储在用户浏览器端的一个小型数据文件,用于跟踪和保存用户的状态信息 用处:主要用于保持用户登录状态、跟踪用户行为、存储用户偏好等 存储在浏览器端优点: HTTP协议中支持的技术 缺点:…

阻塞、非阻塞、同步、异步的区别是什么?

同步异步描述的是被调用方。阻塞非阻塞描述的是调用方。二者没有必然联系。阻塞是调用方A发出命令后,必须等待B返回结果。非阻塞是调用方A发出命令后,A不需要等待B,可以做自己的事情。 同步是B收到A的指令之后会立即…