Spraw, aby isearch pomijał złożoną zawartość w trybie org

9

P: Jak mogę powiedzieć, isearchaby domyślnie ignorować zawartość złożonych bloków w org-modebuforach?

Mówiąc dokładniej, chciałbym isearchzignorować zawartość bloków komentarzy i szuflad : Podczas tworzenia dokumentów org-modeczęsto używam bloków komentarzy i niestandardowych szuflad do przechowywania różnego rodzaju notatek na temat tekstu, który piszę. Domyślnie trzymam je złożone, aby ich zawartość mnie nie rozpraszała:

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

Działa to naprawdę dobrze, ale nie przestanie org-moderozszerzać tych bloków, jeśli zawierają dopasowania do napisanego przeze mnie łańcucha isearch.

itsjeyd
źródło

Odpowiedzi:

11

Można ustawić search-invisible, aby nilw swoim .emacslub używając dostosować. Następnie, jeśli nie chcą pokazać mecze w niewidzialnego tekstu, naciśnij M-s ipodczas korzystania isearch.

(Znalazłem to, czytając dokumenty isearch-forwardi isearch-toggle-invisible, ale jest to również udokumentowane w podręczniku: patrz Specjalne wyszukiwanie ).

Wpływa to na wszystkie bufory, nie tylko na Org; jeśli chcesz używać nilw org-modebuforach i domyślny gdzie indziej można utworzyć bufor lokalny wiążące w buforach Org:

(add-hook 'org-mode-hook
          (lambda ()
            (make-local-variable 'search-invisible)
            (setq search-invisible nil)))
Konstantyn
źródło
1
Wartość lokalna dla bufora byłaby o wiele bardziej praktyczna niż wiążąca rada. :-)
Malabarba
@Malabarba: Bardzo prawda! (Nie wiedziałem, że można użyć make-local-variabledo utworzenia lokalnego powiązania bufora dla zmiennej, która jest już zdefiniowana jako globalna - do tej pory to znaczy. Wciąż się uczę. :-)) Zaktualizuję odpowiedź.
Constantine
7

Podczas korzystania isearchmożesz przełączać wyszukiwanie na niewidoczny tekst za pomocą M-s i.

Możesz także dostosować to zachowanie za pomocą M-x customize-group isearchi wyszukiwania Search Invisible.

Zauważ, że to zignoruje wszystko w złożonym bloku, nie mogę zignorować tylko tekstu w bloku z komentarzem.

MonsieurBanana
źródło
Obaj musieliśmy pisać jednocześnie! :-)
Constantine