ทำให้ isearch ข้ามเนื้อหาที่ถูกพับในโหมดองค์กร


9

ถาม:ฉันisearchจะบอกให้เพิกเฉยเนื้อหาของบล็อกที่ถูกพับโดยค่าเริ่มต้นในorg-modeบัฟเฟอร์ได้อย่างไร?

โดยเฉพาะอย่างยิ่งฉันต้องการisearchละเว้นเนื้อหาของบล็อกความคิดเห็นและลิ้นชัก : เมื่อการเขียนเอกสารในorg-modeฉันมักจะใช้บล็อกความคิดเห็นและลิ้นชักที่กำหนดเองเพื่อเก็บบันทึกประเภทต่างๆเกี่ยวกับข้อความที่ฉันเขียน ฉันให้พวกเขาพับตามค่าเริ่มต้นเพื่อให้แน่ใจว่าเนื้อหาของพวกเขาไม่กวนใจฉัน:

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

วิธีนี้ใช้งานได้ดี แต่จะไม่หยุดorg-modeขยายบล็อกเหล่านี้หากมีรายการที่ตรงกันสำหรับสตริงที่ฉันกำลังใช้isearchอยู่

คำตอบ:


11

คุณสามารถตั้งค่าsearch-invisibleการnilในของคุณ.emacsหรือใช้ปรับแต่ง แล้วถ้าคุณไม่ต้องการที่จะแสดงการแข่งขันในข้อความที่มองไม่เห็นกดในขณะที่ใช้M-s iisearch

(ฉันพบสิ่งนี้โดยการอ่านเอกสารของisearch-forwardและisearch-toggle-invisibleแต่มีการบันทึกไว้ในคู่มือ: ดูการสืบค้นพิเศษ )

สิ่งนี้มีผลต่อบัฟเฟอร์ทั้งหมดไม่ใช่แค่องค์กรเท่านั้น หากคุณต้องการใช้nilในorg-modeบัฟเฟอร์และค่าเริ่มต้นที่อื่นคุณสามารถสร้างการเชื่อมบัฟเฟอร์ในเครื่องในบัฟเฟอร์ขององค์กร:

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

1
ค่าบัฟเฟอร์ในเครื่องจะเป็นวิธีที่ใช้งานได้จริงมากกว่าคำแนะนำการผูกให้ :-)
Malabarba

@Malabarba: จริงมาก! (ฉันไม่ทราบว่าสามารถใช้make-local-variableเพื่อสร้างการเชื่อมบัฟเฟอร์ภายในสำหรับตัวแปรที่กำหนดไว้แล้วเป็นโกลบอล - จนถึงตอนนี้คือฉันยังคงเรียนรู้สิ่ง :-)) ฉันจะอัปเดต ตอบ.
Constantine

7

ในขณะที่ใช้คุณสามารถสลับการค้นหาในข้อความที่มองไม่เห็นด้วยisearchM-s i

นอกจากนี้คุณยังสามารถปรับแต่งลักษณะการทำงานนี้ด้วยและค้นหาM-x customize-group isearchSearch Invisible

โปรดทราบว่าสิ่งนี้จะไม่สนใจทุกสิ่งในบล็อกที่ถูกพับฉันไม่สามารถละเว้นเฉพาะข้อความในบล็อกที่มีความคิดเห็น


เราสองคนต้องพิมพ์พร้อมกัน! :-)
Constantine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.