Domyślnie zwijaj bloki src w trybie org

12

Kiedy otwieram orgplik, chcę, aby wszystkie srcbloki zaczęły się zwinąć i pozostały w tym stanie, dopóki ich nie ujawnię org-cycle.

Nie mogę znaleźć żadnej zmiennej kontrolującej to zachowanie. Może coś przeoczyłem? A może ktoś ma inne rozwiązanie?

niania
źródło
4
Oto link do powiązanych pytań, które mówią o używaniu zmiennej org-hide-block-startup: stackoverflow.com/a/21563210/2112489 . I poniższy link ma coś wspólnego z widocznością cykliczną srcbloków, które wcześniej napisałem, ale nie ustawia ich domyślnego ukrywania. Nie będę miał czasu pracować nad tym dzisiaj ani jutro, ale tutaj jest link na wypadek, gdybyś ty lub ktokolwiek inny chciał się pobawić kodem: stackoverflow.com/a/25496350/2112489
lista prawników

Odpowiedzi:

11

Możesz osiągnąć to, co chcesz, dodając org-hide-block-allpolecenie do org-mode-hook:

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

W mojej osobistej konfiguracji nieco rozszerzyłem to rozwiązanie:

(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)

W tym miejscu domyślnie org-modezawija się SRCbloki i pozwala mi przełączać widoczność wszystkich SRCbloków przez naciśnięcie C-c t. (Jeśli zdecydujesz się użyć tego kodu, możesz oczywiście dostosować przypisanie klawiszy do własnych upodobań).

itsjeyd
źródło