[英]How to highlight current subtree in emacs org-mode?
如何使當前子樹更清晰可辨?
可以將“行號”加粗,也可以只在當前子樹的整個文本下划線也可以。
我的意思是,有人可以幫我提供一些elisp代碼嗎? 實現這一目標(例如,強調整個子樹)?
我無法顯示下划線,因此我將示例加粗 :
* [1]這是一個子樹
一些文字
** [1.1]子樹n°2
和文字
*** [1.1.1]子樹你好
** [2]祝您愉快
加載以下定義
(defun org-subtree-highlight-find-overlay (p1 p2)
"Find an overlay with property 'org-subtree-highlight-overlay"
(defun org-subtree-highlight-find-overlay01 (overlays)
(if overlays
(let ((ov (car overlays)))
(if (overlay-get ov 'org-subtree-highlight-overlay)
ov
(org-subtree-highlight-find-overlay01 (cdr overlays))))
nil))
(org-subtree-highlight-find-overlay01 (overlays-in p1 p2)))
(defun org-subtree-highlight-toggle ()
"Toggle subtree highlighting"
(interactive)
(save-excursion
(let* ((p1 (progn (org-back-to-heading t) (point)))
(p2 (progn (outline-next-visible-heading 1)
(if (and (org-at-heading-p) (not (eobp))) (backward-char 1))
(point)))
(ov (org-subtree-highlight-find-overlay p1 p2)))
(if ov
(delete-overlay ov)
(setq ov (make-overlay p1 p2))
(overlay-put ov 'org-subtree-highlight-overlay t)
;; set a format for the subtree (can be also 'bold)
(overlay-put ov 'font-lock-face 'underline)))))
;; keybindin example
(add-hook 'org-mode-hook
(lambda ()
(local-set-key "\C-c\C-h" 'org-subtree-highlight-toggle)))
結果應該是這樣的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.