5

如何仅突出显示 * 星,而不是整个标题行,以保持文本颜色相同?在伟大的 emacs 组织模式中

多谢你们


excample(用#替换*,因为堆栈溢出中不能加粗*)

(不在下方)

# 标题文本

这是正文

(但在下面)

# 标题文本

这是正文

4

1 回答 1

8

更新的答案

查看变量org-level-color-stars-only,其中包含一个文档字符串,其中声明:“非零表示仅字体化每个标题中的星号。当为零时,整个标题被字体化。更改它需要重新启动'font-lock-mode'才能生效也在已经字体化的地区。

用法:  (setq org-level-color-stars-only t)


上一个答案

您可以删除或添加您认为合适的星标——此示例同时使用两 (2) 颗星标。如果您只做一颗星,那么这也会同时影响两 (2) 颗和三 (3) 颗星。也许我们论坛的一位本地正则表达式专家可以给我们一星的代码(但不超过一星):)

(defvar bumble-bee (make-face 'bumble-bee))

(set-face-attribute 'bumble-bee nil :background "black" :foreground "yellow")

(font-lock-add-keywords 'org-mode (list

    (list (concat "\\*\\*")
        '(0 bumble-bee t))

   ))

这些控制任务的标题——您可以将它们全部设置为相同或使它们不同。您不想要的任何内容,只需设置nil或设置为与常规字体相同的颜色即可。

(custom-set-faces

  '(org-level-1 ((t (:foreground "orange" :bold t))))

  '(org-level-2 ((t (:foreground "black" :bold t))))

  '(org-level-3 ((t (:foreground "pink" :bold t))))

  '(org-level-4 ((t (:foreground "cyan" :bold t))))

  )

第一行的其他组件通常是 org-tagorg-tag-faces; org-todo-keyword-faces; org-priority-faces; 和org-warning

(setq org-todo-keyword-faces '(
  ("Active" . (:foreground "red"))
  ("Next Action" . (:foreground "ForestGreen"))
  ("Reference" . (:foreground "purple"))
  ("Someday" . (:foreground "gray65"))
  ("None" . (:foreground "green"))
  ("Delegated" . (:foreground "cyan")) ))

(setq org-tag-faces '(
  ("TODO" . org-warning)
  ))

(setq org-priority-faces '(
  (?A . (:foreground "firebrick" :weight bold))
  (?B . (:foreground "orange"))
  (?C . (:foreground "green"))
  (?D . (:foreground "purple"))
  (?E . (:foreground "blue")) ))

(custom-set-faces
  '(org-tag ((t (:background "gray97" :foreground "gray50"
    :box (:line-width 1 :color "black") :weight regular))))
  '(org-warning ((t (:foreground "black"))))
  )
于 2013-09-03T02:36:46.143 回答