Thu gọn các khối src ở chế độ org theo mặc định


11

Khi tôi mở một orgtập tin, tôi muốn tất cả các srckhối bắt đầu sụp đổ và giữ nguyên như vậy cho đến khi tôi rõ ràng org-cyclechúng.

Tôi không thể tìm thấy bất kỳ biến nào để kiểm soát hành vi này. Có lẽ tôi đang nhìn một cái gì đó? Hoặc có thể ai đó có một giải pháp elisp?


4
Đây là một liên kết đến một câu hỏi liên quan nói về việc sử dụng biến org-hide-block-startup: stackoverflow.com/a/21563210/2112361 . Và, liên kết sau đây có liên quan đến việc hiển thị các srckhối mà tôi đã viết ngược thời gian, nhưng nó không đặt chúng bị ẩn theo mặc định. Tôi sẽ không có thời gian để làm việc này hôm nay hoặc ngày mai, nhưng đây là liên kết trong trường hợp bạn hoặc bất kỳ ai khác muốn chơi một chút với mã: stackoverflow.com/a/25496350/2112361
luật

Câu trả lời:


10

Bạn có thể đạt được những gì bạn muốn bằng cách thêm org-hide-block-alllệnh vào org-mode-hook:

(add-hook 'org-mode-hook 'org-hide-block-all)

Đối với cấu hình cá nhân của tôi, tôi đã mở rộng giải pháp này một chút:

(defvar org-blocks-hidden nil)

(defun org-toggle-blocks ()
  (interactive)
  (if org-blocks-hidden
      (org-show-block-all)
    (org-hide-block-all))
  (setq-local org-blocks-hidden (not org-blocks-hidden)))

(add-hook 'org-mode-hook 'org-toggle-blocks)

(define-key org-mode-map (kbd "C-c t") 'org-toggle-blocks)

Với vị trí này, thu org-modegọn SRCcác khối theo mặc định cho phép tôi chuyển đổi khả năng hiển thị của tất cả SRCcác khối bằng cách nhấn C-c t. (Nếu bạn quyết định sử dụng mã này, tất nhiên bạn có thể điều chỉnh ràng buộc khóa theo ý thích của mình.)

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.