Gạch chân trong các liên kết chế độ org với các mô tả đa dòng?


8

H: Làm thế nào tôi có thể dừng gạch chân thông qua "lề" bên trái trong các liên kết kéo dài hơn một dòng?

Khuôn mặt org-linkkế thừa từ khuôn mặt link, có thuộc tính gạch dưới được đặt thành t(hoặc ít nhất là theo mặc định). Thông thường, đó là tất cả tốt và tốt. Tuy nhiên, nó trở nên xấu xí nếu mô tả của liên kết đủ dài để nó kết thúc thành nhiều hơn một dòng, như trong ảnh chụp màn hình sau:

liên kết chế độ org

Ảnh chụp màn hình cho thấy phần gạch chân kéo dài từ lề trái cho đến khi thụt lề. Đó là một đánh dấu hình ảnh khá xấu xí. Có cách nào để giữ gạch chân cho các liên kết, nhưng không có phần gạch chân mở rộng từ lề theo cách này không?


1
Nếu bạn tìm thấy một giải pháp mà bạn thích, sau đó xin vui lòng chia sẻ nó với các nhà bảo trì org bởi vì nó có thể sẽ kết thúc trong Mainline: orgmode.org/community.html
grettke

Câu trả lời:


3

Tôi đã loay hoay một chút với org-activate-bracket-links. Tôi không thực sự là một chuyên gia về khóa phông chữ, vì vậy tôi chỉ quản lý để làm cho "^ +" phần của liên kết trở nên vô hình:

(defun org-activate-bracket-links (limit)
  "Add text properties for bracketed links."
  (if (and (re-search-forward org-bracket-link-regexp limit t)
           (not (org-in-src-block-p)))
      (let* ((hl (org-match-string-no-properties 1))
             (help (concat "LINK: " (save-match-data (org-link-unescape hl))))
             (ip (org-maybe-intangible
                  (list 'invisible 'org-link
                        'keymap org-mouse-map 'mouse-face 'highlight
                        'font-lock-multiline t 'help-echo help
                        'htmlize-link `(:uri ,hl))))
             (vp (list 'keymap org-mouse-map 'mouse-face 'highlight
                       'font-lock-multiline t 'help-echo help
                       'htmlize-link `(:uri ,hl))))
        ;; We need to remove the invisible property here.  Table narrowing
        ;; may have made some of this invisible.
        (org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0))
        (remove-text-properties (match-beginning 0) (match-end 0)
                                '(invisible nil))
        (if (match-end 3)
            (progn
              (add-text-properties (match-beginning 0) (match-beginning 3) ip)
              (org-rear-nonsticky-at (match-beginning 3))
              (add-text-properties (match-beginning 3) (match-end 3) vp)
              (org-rear-nonsticky-at (match-end 3))
              (add-text-properties (match-end 3) (match-end 0) ip)
              (org-rear-nonsticky-at (match-end 0))
              (let ((b3 (match-beginning 3))
                    (e3 (match-end 3)))
                (save-excursion
                  (save-match-data
                    (goto-char b3)
                    (while (re-search-forward "\\(?:^ +\\| +$\\)" e3 t)
                      (org-rear-nonsticky-at (match-beginning 0))
                      (add-text-properties (match-beginning 0)
                                           (match-end 0) ip)
                      (org-rear-nonsticky-at (match-end 0)))))))
          (add-text-properties (match-beginning 0) (match-beginning 1) ip)
          (org-rear-nonsticky-at (match-beginning 1))
          (add-text-properties (match-beginning 1) (match-end 1) vp)
          (org-rear-nonsticky-at (match-end 1))
          (add-text-properties (match-end 1) (match-end 0) ip)
          (org-rear-nonsticky-at (match-end 0)))
        t)))

Cám ơn vì sự gợi ý. Mặc dù nó không loại bỏ phần gạch chân khó coi từ lề trái, nhưng thật không may, văn bản của dòng thứ hai hiện đang chuyển sang lề trái thay thế. Tôi sẽ cố gắng chọc thêm một chút nữa.
Dân
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.