สิ่งนี้จะตอบคำถามทั่วไปของคุณ แต่ไม่เฉพาะกับกรณีการใช้งานที่คุณพูดถึง (การย้ายรหัสบิตไปรอบ ๆ )
ขณะนี้ Emacs มีสิ่งที่เรียกว่าภูมิภาคที่ไม่ต่อเนื่องซึ่งเป็นตัวเลือกที่คุณต้องการ วานิลลา Emacs ไม่ได้ให้วิธีพิเศษใด ๆ ในการสร้างภูมิภาคที่ไม่ติดกันยกเว้นถ้ามันเป็นรูปสี่เหลี่ยมผืนผ้า แต่Zones ในห้องสมุดไม่
Library Zones ให้คุณกำหนดหลายโซนในบัฟเฟอร์ของคุณ รายการของโซนเป็นพื้นที่ที่ไม่ติด คุณสามารถคิดว่ามันเป็นหลายภูมิภาคขึ้นอยู่กับว่าคุณต้องการใช้ประโยชน์จากมันอย่างไร คุณสามารถกำหนดรายการโซนได้หลายรายการตลอดเวลาแต่ละรายการกำหนดให้กับตัวแปรโซนที่แตกต่างกันและคุณสามารถสลับระหว่างรายการเหล่านั้นได้
หากคุณใช้ไลบรารีคั่นหน้า +คุณสามารถบันทึกรายการโซนอย่างต่อเนื่องและเรียกคืนได้ในเซสชัน Emacs ในภายหลัง คั่นหน้า + ยังช่วยให้คุณกำหนดแท็กโดยพลการให้กับบุ๊กมาร์ก ซึ่งหมายความว่าคุณสามารถติดแท็กรายการโซน
โซนในรายการโซนที่กำหนดมักจะอยู่ในบัฟเฟอร์เดียวกัน แต่ไม่จำเป็นต้องเป็น ในที่นี้รายการโซนจะกว้างกว่าภูมิภาคที่ไม่ต่อเนื่อง นอกจากนี้ยังเป็นเรื่องทั่วไปที่แต่ละโซนสามารถมีข้อมูลเพิ่มเติมนอกเหนือจากข้อ จำกัด ของโซนและสามารถมีตัวระบุได้
มีหลายวิธีในการสร้างโซน หนึ่งในวิธีที่ง่ายที่สุดคือใช้C-x n a
: มันกำหนดโซนจากพื้นที่ที่ใช้งานอยู่และเพิ่มเข้าไปในชุดโซนปัจจุบัน ( C-x n n
( narrow-to-region
) ทำเช่นนี้นอกเหนือจากการ จำกัด )
นี่คือบางสิ่งที่คุณสามารถทำได้ด้วยชุด (รายการ) ของโซน:
- เรียงพวกเขา
- รวมตัวกัน (รวมกัน) โซนที่อยู่ติดกันหรือทับซ้อนกัน (ซึ่งรวมถึงการเรียงลำดับพวกเขา)
- ตัดกัน
- จำกัด บัฟเฟอร์ไปยังโซนในรายการ ขี่จักรยานท่ามกลางความคับแคบ ดูแคบ ๆ หลายๆ
- เลือกโซนในรายการเป็นภูมิภาคที่ใช้งานอยู่ วนตามภูมิภาค
- ค้นหาพวกเขา (พวกเขาจะรวมเป็นหนึ่งโดยอัตโนมัติก่อน) สำหรับนี้คุณต้องห้องสมุดiSearch +
- ค้นหาแทนที่พวกเขา
- ไฮไลต์และไฮไลต์ (สำหรับนี้คุณต้องห้องสมุดจุดเด่น
facemenu+.el
หรือห้องสมุด
ดูเพิ่มเติมNarrow Indirectซึ่งให้คุณสร้างบัฟเฟอร์ทางอ้อมที่เป็นโคลนของบัฟเฟอร์ที่กำหนดและแคบลงไปยังส่วนต่าง ๆ ของบัฟเฟอร์