Зробіть пошук за пропуском складеного вмісту в режимі org


9

Питання: Як я можу isearchзапропонувати ігнорувати вміст складених блоків за замовчуванням у org-modeбуферах?

Більш конкретно, я хотів би isearchігнорувати вміст блоків коментарів і ящиків : Коли org-modeя створюю документи, я часто використовую блоки коментарів та спеціальні ящики для зберігання різного роду приміток до тексту, який я пишу. Я тримаю їх складеними за замовчуванням, щоб переконатися, що їх вміст не відволікає мене:

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

Це дуже добре працює, але не зупинятиметься на org-modeрозширенні цих блоків, якщо вони містять відповідники для рядка, який я isearchін.

Відповіді:


11

Ви можете встановити , search-invisibleщоб nilу вашій .emacsабо з допомогою Customize. Потім, якщо ви дійсно хочете , щоб показати матчі в прихованому тексті, натисніть у M-s iчас використання isearch.

(Я виявив це, прочитавши документи isearch-forwardта isearch-toggle-invisible, але це також задокументовано в посібнику: див. Special Isearch .)

Це впливає на всі буфери, не тільки на Org; якщо ви хочете використовувати nilв org-modeбуферах і за замовчуванням в іншому місці, ви можете створити локальне зв'язування буфера в буферах Org:

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

1
Місцеве значення буфера було б набагато практичнішим, ніж дозволити обов'язкову пораду. :-)
Малабарба

@Malabarba: Дуже правда! (Я не знав, що можна використовувати make-local-variableдля створення локальної прив'язки для буфера для змінної, яка вже визначена як глобальна - дотепер, тобто. Я все ще вивчаю речі. :-)) Я оновлю оновлення відповідь.
Костянтин

7

Під час використання isearchви можете перемикати пошук за невидимим текстом за допомогою M-s i.

Ви також можете налаштувати таку поведінку M-x customize-group isearchта шукати її Search Invisible.

Зауважте, що це буде ігнорувати все у складеному блоці, я не можу ігнорувати лише текст у коментованому блоці.


Ми, мабуть, друкувались одночасно! :-)
Костянтин
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.