Arama modunun katlanmış içeriği kuruluş modunda atlamasını sağlayın


9

S:isearch Katlanmış blokların içeriğini org-modearabelleklerde varsayılan olarak yok saymayı nasıl söyleyebilirim ?

Daha spesifik olarak, yorum bloklarının ve çekmecelerininisearch içeriğini yok saymak istiyorum : Belgeleri yazarken, yazdığım metin hakkında farklı türde notlar depolamak için genellikle yorum bloklarını ve özel çekmeceleri kullanıyorum. İçeriğinin beni rahatsız etmediğinden emin olmak için bunları varsayılan olarak katlanmış olarak saklıyorum:org-mode

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

Bu gerçekten iyi çalışıyor, ancak org-modeben bir dize için eşleşme içeriyorsa bu blokları genişletmek durmaz isearch.

Yanıtlar:


11

Sen ayarlayabilirsiniz search-invisibleiçin nilsizin de .emacsya kullanarak özelleştirme. Ardından, eğer do görünmez metin, basında eşleşmeleri göstermek istiyorum M-s ikullanırken isearch.

(Ben docs okuyarak buldum isearch-forwardve isearch-toggle-invisible, ama aynı zamanda manuel belgelenmiştir: bkz Özel ISearch .)

Bu sadece Org'u değil tüm tamponları etkiler ; Kullanmak istediğiniz takdirde nilde org-modetamponların ve varsayılan başka yerde oluşturabileceğiniz bir tampon-yerel bağlama Org tamponlarda:

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

1
Bir tampon-yerel değer, izin veren bir bağlayıcı tavsiyeden çok daha pratik olacaktır. :-)
Malabarba

@Malabarba: Çok doğru! (Ben make-local-variablezaten küresel olarak tanımlanmış bir değişken için bir arabellek-yerel bağlama oluşturmak için kullanabileceğini bilmiyordum - şimdiye kadar, yani. Hala bir şeyler öğreniyorum. :-)) Ben güncelleme Cevap.
Konstantin

7

Kullanırken isearchgörünmez metin üzerinde aramayı değiştirebilirsiniz M-s i.

Bu davranışı, ile M-x customize-group isearchve arayarak da özelleştirebilirsiniz Search Invisible.

Bu, katlanmış bir bloktaki her şeyi göz ardı edeceğini unutmayın, yalnızca yorum yapılan bir bloktaki metni göz ardı edemem.


İkimiz aynı anda yazıyor olmalıyız! :-)
Constantine
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.