Contraer bloques src en modo org por defecto

11

Cuando abro un orgarchivo, quiero que todos los srcbloques comiencen a colapsarse y permanezcan así hasta que los explícitamente org-cycle.

No puedo encontrar ninguna variable para controlar este comportamiento. Tal vez estoy pasando por alto algo? ¿O tal vez alguien tiene una solución elisp?

niñera
fuente
44
Aquí hay un enlace a preguntas relacionadas que habla sobre el uso de la variable org-hide-block-startup: stackoverflow.com/a/21563210/2112489 . Y, el siguiente enlace tiene algo que ver con la visibilidad en bicicleta de los srcbloques que escribí hace un tiempo, pero no los oculta de forma predeterminada. No tendré tiempo para trabajar en esto hoy o mañana, pero aquí está el enlace en caso de que usted o alguien más quiera jugar un poco con el código: stackoverflow.com/a/25496350/2112489
lawlist el

Respuestas:

10

Puede lograr lo que desea agregando el org-hide-block-allcomando a org-mode-hook:

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

Para mi configuración personal, he extendido un poco esta solución:

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

Con esto en su lugar, org-modecontrae los SRCbloques de forma predeterminada y me permite alternar la visibilidad de todos los SRCbloques presionando C-c t. (Si decide utilizar este código, por supuesto, puede adaptar la asociación de teclas a su gusto).

itsjeyd
fuente