Hacer que Isearch salte contenido plegado en modo org

9

P: ¿Cómo puedo decir isearchque ignore el contenido de los bloques plegados de forma predeterminada en las org-modememorias intermedias?

Más específicamente, me gustaría isearchignorar el contenido de los bloques de comentarios y los cajones : al crear documentos, a org-modemenudo uso bloques de comentarios y cajones personalizados para almacenar diferentes tipos de notas sobre el texto que estoy escribiendo. Los mantengo doblados por defecto para asegurarme de que su contenido no me distraiga:

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

Esto funciona muy bien, pero no detendrá la org-modeexpansión de estos bloques si contienen coincidencias para una cadena que estoy isearchusando.

itsjeyd
fuente

Respuestas:

11

Se puede establecer search-invisibleque nilen su .emacso el uso de Personalizar. Entonces, si usted no quiere mostrar coincidencias de texto invisible, pulse M-s idurante el uso isearch.

(Encontré esto leyendo los documentos de isearch-forwardy isearch-toggle-invisible, pero también está documentado en el manual: consulte Búsqueda especial ).

Esto afecta a todos los buffers, no solo a Org; si desea usar nilen org-modebuffers y el valor predeterminado en otro lugar, puede crear un enlace local de buffer en los buffers Org:

(add-hook 'org-mode-hook
          (lambda ()
            (make-local-variable 'search-invisible)
            (setq search-invisible nil)))
Constantina
fuente
1
Un valor local de búfer sería mucho más práctico que un consejo vinculante let. :-)
Malabarba
@Malabarba: ¡Muy cierto! (No sabía que se puede usar make-local-variablepara crear un enlace local de búfer para una variable que ya está definida como global, hasta ahora, eso es. Todavía estoy aprendiendo cosas. :-)) Actualizaré el responder.
Constantino
7

Mientras lo usa isearch, puede alternar la búsqueda en texto invisible con M-s i.

También puede personalizar este comportamiento con M-x customize-group isearchy buscando Search Invisible.

Tenga en cuenta que esto ignorará todo en un bloque doblado, no puedo ignorar solo el texto en un bloque comentado.

MonsieurBanana
fuente
¡Los dos debemos haber estado escribiendo al mismo tiempo! :-)
Constantine