有没有一种方法可以高亮标题中的当前日期

image

如图, 我的工作笔记是以日期为标题 , 有没有一种方法可以高亮标题中的当前日期, 比如高亮2023-02-07这几个字 .

可以看看 highlight-regexp 函数。

(font-lock-add-keywords 'org-mode
                        '(("\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)" 1 'your-face append))
                        'append)

your-face 改成你想要的 face 就行

如果想要更好看的效果,可以使用 svg-tag-mode image

1 个赞

推荐 GitHub - minad/org-modern: Modern Org Style

org-morden 的正则是写死的,不方便自定义高亮的部分

今天就是2.7,楼主应该是想日期自动更新,始终高亮的是今天的,而不是写死,这个应该不太好做

试试这个。

(defun my-hl-today ()
  (interactive)
  (highlight-phrase (format-time-string "%F" (current-time))))
(global-set-key [f9] 'my-hl-today)

(defun my-unhl-today ()
  (interactive)
  (unhighlight-regexp (format-time-string "%F" (current-time))))
(global-set-key [f10] 'my-unhl-today)

如果想绑定 org-mod, 调用上面提到的 font-lock-add-keywords 函数应该就可以。把当前日期作为一个可变关键字。

chatgpt给了这个代码 , 但是写在.emacs里不起作用 , 大佬可以帮忙看一下吗 ?

;; define the function
(defun highlight-date-in-org-mode ()
        (interactive)
        (font-lock-add-keywords 'org-mode (list (list (concat "^*\s-\(.\s-\)" (format-time-string "%F") "\s-.$") 1 '(face hi-yellow)))))

;; enable the font-lock in org-mode
(add-hook 'org-mode-hook 'highlight-date-in-org-mode)