Faire isearch sauter le contenu plié en mode org

9

Q: Comment puis-je dire isearchd'ignorer le contenu des blocs pliés par défaut dans les org-modetampons?

Plus précisément, j'aimerais isearchignorer le contenu des blocs de commentaires et des tiroirs : lors de la création de documents dans, org-modej'utilise souvent des blocs de commentaires et des tiroirs personnalisés pour stocker différents types de notes sur le texte que j'écris. Je les garde pliés par défaut pour m'assurer que leur contenu ne me distrait pas:

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

Cela fonctionne vraiment bien, mais n'arrêtera pas org-moded'étendre ces blocs s'ils contiennent des correspondances pour une chaîne que j'utilise isearch.

itsjeyd
la source

Réponses:

11

Vous pouvez régler search-invisibleà nilvotre .emacsou en utilisant Personnaliser. Ensuite, si vous ne voulez montrer matches texte invisible, appuyez sur M-s itout en utilisant isearch.

(J'ai trouvé cela en lisant les documents de isearch-forwardet isearch-toggle-invisible, mais cela est également documenté dans le manuel: voir Recherche spéciale .)

Cela affecte tous les tampons, pas seulement Org; si vous souhaitez utiliser nildans les org-modetampons et la valeur par défaut ailleurs, vous pouvez créer une liaison tampon-locale dans les tampons Org:

(add-hook 'org-mode-hook
          (lambda ()
            (make-local-variable 'search-invisible)
            (setq search-invisible nil)))
Constantine
la source
1
Une valeur tampon-locale serait bien plus pratique qu'un avis contraignant. :-)
Malabarba
@Malabarba: Très vrai! (Je ne savais pas que l'on peut utiliser make-local-variablepour créer une liaison tampon-locale pour une variable qui est déjà définie comme globale - jusqu'à présent, c'est-à-dire. J'apprends encore des trucs. :-)) Je mettrai à jour le réponse.
Constantine
7

Pendant l'utilisation, isearchvous pouvez basculer la recherche sur du texte invisible avec M-s i.

Vous pouvez également personnaliser ce comportement avec M-x customize-group isearchet rechercher Search Invisible.

Notez que cela ignorera tout dans un bloc plié, je ne peux pas ignorer uniquement le texte dans un bloc commenté.

MonsieurBanana
la source
Nous devons tous les deux taper en même temps! :-)
Constantine