想向各位道友收集一下美化 org 的配置

其实原理挺简单的就是 prettify-symbols-mode + org-modern + org-bullets.

其中 org-modern 有些地方我为了不和自己本地的 prettify-symbols-mode 冲突, 就把这个包的部分美化关掉了, 配置如下:

(use-package org-modern
  :custom
  ;; Org modern settings
  (org-modern-star nil)
  (org-modern-priority nil)
  (org-modern-list nil)
  (org-modern-checkbox nil)
  (org-modern-todo nil)
  (org-modern-keyword nil)

  ;; Editor settings
  (org-auto-align-tags nil)
  (org-tags-column 0)
  (org-catch-invisible-edits 'show-and-error)
  (org-special-ctrl-a/e t)
  :config
  (global-org-modern-mode 1))

配置里用的图标在 Nerd Fonts 里或者 all-the-icons 里应该都是有提供的, 理论而言 Nerd Fonts 配置起来更容易. 我在本机上测试了改 unicode 字体为

(set-fontset-font "fontset-default" 'unicode "FiraCode Nerd Font")

除了 TODO 部分 (上文有提) 其余部分均没有影响.

最后贴一下我的 prettify-symbols-alist:

(setq prettify-symbols-alist
                      '(("lambda"  . ?λ)
                        (":PROPERTIES:" . ?)
                        (":ID:" . ?)
                        (":END:" . ?)
                        ("#+TITLE:" . ?)
                        ("#+AUTHOR" . ?)
                        ("#+BEGIN_QUOTE" . ?)
                        ("#+END_QUOTE" . ?)
                        ("#+RESULTS:" . ?)
                        ("[ ]" . ?)
                        ("[-]" . ?)
                        ("[X]" . ?)
                        ("[#A]" . ?🅐)
                        ("[#B]" . ?🅑)
                        ("[#C]" . ?🅒)))
2 个赞

prettify-symbols-alist这个参数的设置是不是还需要其他配合呢?我设置了这个参数似乎在org mode下不生效?我同时也开启了prettify-symbols-mode,但好像还是没有作用; 我查了这个参数的帮助,说是一个buffer-local的参数,我是否应该配合着org-mode-hook来使用?

能否帮忙看看这个参数是不是在你的配置文件中还有其他的配置需要配合?

谢谢;

嗯嗯没错的. 只要写一个 hook 就好. 下面是我的完整配置:

(add-hook 'org-mode-hook  (lambda ()
                            (setq prettify-symbols-alist
                                  '(("lambda" . ?λ)
                                    (":PROPERTIES:" . ?)
                                    (":ID:" . ?)
                                    (":END:" . ?)
                                    ("#+TITLE:" . ?)
                                    ("#+AUTHOR:" . ?)
                                    ("#+BEGIN_QUOTE" . ?)
                                    ("#+END_QUOTE" . ?)
                                    ("#+RESULTS:" . ?)
                                    ("[ ]" . ?)
                                    ("[-]" . ?)
                                    ("[X]" . ?)
                                    ("[#A]" . ?🅐)
                                    ("[#B]" . ?🅑)
                                    ("[#C]" . ?🅒)))
                            (prettify-symbols-mode)))
2 个赞

我的 org 美化哲学是:用高效的结构表达强调,额外的颜色和格式只用作补充,因为什么都强调,等于什么都没有强调。同时尽可能降低非重要部分的存在感以突出重点。

edit: 更新截图

10 个赞

啥中文字体呢

用了 mixed-pitch

中文字体是: Sarasa-Mono-SC-Nerd

英文字体:variable pitch: Bookerly; fixed pitch: Cascadia Mono

在 org 中,如果是中英文混排,panggu-spacing 是一个很不错的扩展。

代码块背景灰色是主题自带的么?我用的 sanityinc-tomorrow-day 是没有底色的, sanityinc-tomorrow-bright 倒是有。

我猜测这是 Modus Operandi 提供的效果,

(setq modus-themes-org-blocks 'gray-background)
; {nil,'gray-background,'tinted-background}

设置face org-block 里的 background 就好了

1 个赞

我用的主题是自己魔改的 mindre-theme, modeline也是 fork 自 mood-line

2 个赞

panggu-spacing

这东西卡死了。不知道现在性能有没有好一些

之前用着还挺舒服

没问题的, 我在WINDOWS上都不卡

有没有大佬展示一下自己的agenda美化

好几年前的事了,4、5年前。后来觉得不加才是正统,就不再管了

1 个赞

你表格的那个粗竖线是怎么搞的?

org-modern 所提供.

其中的粗细可以通过自定义下面几个变量来实现:

(defcustom org-modern-table-vertical 3
  "Width of vertical table lines in pixels.
Set to nil to hide the vertical lines."
  :type '(choice (const nil) integer))

(defcustom org-modern-table-horizontal 0.1
  "Prettify horizontal table lines."
  :type '(choice (const nil) number))

不卡啊,我的文件都小。要是大文件也是分成一些列小文件。中英文编辑省了很多不必要的空格输入。

有谁使用PragmataPro + cnfonts的,很多字符像是[todo]这种都无法正常显示,或者干脆显示不出来?

如果弃用cnfonts,使用p233大哥的这两行代码,就能正常显示了。 (add-to-list 'default-frame-alist '(font . “PragmataPro Mono Liga 18”)) (set-fontset-font “fontset-default” 'han “FZFW ZhuZi MinchoS”)

有知道怎么处理的吗? 完全搞不懂