Faça o isearch pular conteúdo dobrado no modo organizacional


9

P: Como posso dizer isearchpara ignorar o conteúdo dos blocos dobrados por padrão nos org-modebuffers?

Mais especificamente, gostaria isearchde ignorar o conteúdo dos blocos de comentários e gavetas : Ao criar documentos org-mode, geralmente uso blocos de comentários e gavetas personalizadas para armazenar diferentes tipos de notas sobre o texto que estou escrevendo. Eu os mantenho dobrados por padrão para garantir que seu conteúdo não me distraia:

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

Isso funciona muito bem, mas não impedirá a org-modeexpansão desses blocos se eles contiverem correspondências para uma string que estou isearchinserindo.

Respostas:


11

Você pode definir search-invisiblea nilsua .emacsou usando Personalizar. Então, se você não quer mostrar partidas no texto invisível, pressione M-s idurante a utilização isearch.

(Encontrei isso lendo os documentos de isearch-forwarde isearch-toggle-invisible, mas também está documentado no manual: consulte Pesquisa Especial .)

Isso afeta todos os buffers, não apenas a organização; se você deseja usar nilnos org-modebuffers e o padrão em outro lugar, pode criar uma ligação local de buffer nos buffers da organização:

(add-hook 'org-mode-hook
          (lambda ()
            (make-local-variable 'search-invisible)
            (setq search-invisible nil)))

11
Um valor local de buffer seria muito mais prático do que um conselho vinculativo. :-)
Malabarba 28/11

@ Malabarba: Muito verdade! (Eu não sabia que alguém pode usar make-local-variablepara criar uma ligação local de buffer para uma variável que já está definida como global - até agora, é isso. Ainda estou aprendendo coisas. :-)) Vou atualizar o responda.
Constantine

7

Enquanto estiver usando, isearchvocê pode alternar a pesquisa no texto invisível com M-s i.

Você também pode personalizar esse comportamento com M-x customize-group isearche procurando Search Invisible.

Observe que isso ignorará tudo em um bloco dobrado. Não posso ignorar apenas o texto em um bloco comentado.


Nós dois deveríamos estar digitando ao mesmo tempo! :-)
Constantine
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.