簡體   English   中英

如何在emacs組織模式下突出顯示當前子樹?

[英]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)))

結果應該是這樣的

emacs屏幕截圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM