ฉันสามารถมีสองมุมมองในไฟล์ได้หรือไม่


13

ฉันกำลังแก้ไขไฟล์ abc.org และโทรหา org-narrow-to-block เพื่อ จำกัด ให้เป็นบล็อคโค้ดที่ฉันต้องการแก้ไข สำหรับกระบวนการแก้ไขฉันต้องเข้าถึงส่วนอื่นของ abc.org และเพียงต้องการแสดงในหน้าต่างอื่น ดังนั้นฉันจึงทำ "Cx 2" และพบว่าหน้าต่างแสดง abc.org แต่ก็แคบลงด้วย เป็นไปได้หรือไม่ที่จะมี "มุมมอง" สองไฟล์ในไฟล์? หนึ่งหรี่และไม่?

ฉันตรวจสอบคำถามเจ็ดข้อที่ติดแท็กด้วยการ จำกัด และไม่พบคำถามที่คล้ายกัน

คำตอบ:


15

ฉันคิดว่าคุณกำลังมองหาclone-indirect-buffer-other-window(ผูกพันC-x 4 cตามค่าเริ่มต้น)

โปรดทราบว่าการทำเช่นนี้จะเชื่อมโยงโคลนของบัฟเฟอร์ดังนั้นคุณจะต้องจำไว้ว่าให้ฆ่าบัฟเฟอร์ที่ถูกโคลนรวมทั้งหน้าต่างเพื่อหลีกเลี่ยงการสะสมบัฟเฟอร์มากขึ้นด้วยเนื้อหาเดียวกัน


4

นั่นคือจุดประสงค์ของไลบรารีNarrow Indirect ( narrow-indirect.el) ที่แม่นยำ

มันให้คำสั่งที่ จำกัด ให้คุณสร้างบัฟเฟอร์ทางอ้อมที่เป็นโคลนของบัฟเฟอร์ปัจจุบันและที่แคบลงไปยังส่วนเฉพาะของมัน คุณสามารถ จำกัด ขอบเขตหน้าปัจจุบันขอบเขตที่ใช้งานอยู่หรือหน้าปัจจุบัน การโยงคีย์ที่แนะนำ:

(define-key ctl-x-4-map "nd" 'ni-narrow-to-defun-other-window)
(define-key ctl-x-4-map "nn" 'ni-narrow-to-region-other-window)
(define-key ctl-x-4-map "np" 'ni-narrow-to-page-other-window)

มันมีสองวิธีในการแยกแยะบัฟเฟอร์ทางอ้อมจากบัฟเฟอร์ที่ไม่ใช่ทางอ้อมสำหรับบัฟเฟอร์ทางอ้อมที่สร้าง:

  • ni-buf-name-prefixชื่อกันชนของบัฟเฟอร์ที่ลดลงโดยอ้อมเริ่มต้นด้วยคำนำหน้าว่าคุณสามารถตั้งค่าการใช้ตัวเลือก I-ค่าเริ่มต้นคือ

  • ชื่อของบัฟเฟอร์แคบทางอ้อมเป็นไฮไลต์ในโหมดออนไลน์โดยใช้ใบหน้าแทนของใบหน้าni-mode-line-buffer-id mode-line-buffer-id(หากต้องการปิดการใช้งานนี้เพียงกำหนดค่าแบบเดิมให้เหมือนแบบหลัง)

บัฟเฟอร์ทางอ้อมเช่นนี้ให้มุมมองที่แตกต่างของส่วนของบัฟเฟอร์หรือแม้แต่ของบัฟเฟอร์ทั้งหมด (ใช้C-x h C-x 4 n n) มันมักจะมีคุณสมบัติข้อความและข้อความเหมือนกัน แต่ไม่อย่างนั้นมันก็ค่อนข้างอิสระ

โดยเฉพาะอย่างยิ่งคุณสามารถฆ่าบัฟเฟอร์ทางอ้อมโดยไม่กระทบกับบัฟเฟอร์ฐาน คุณอาจต้องการฆ่าบัฟเฟอร์ที่แคบลงทางอ้อมแทนที่จะขยายให้กว้างขึ้น

ดู Emacs คู่มือโหนดบัฟเฟอร์ทางอ้อม


4

คุณเคยลองC-x C-c b( org-tree-to-indirect-buffer)? มันสร้างบัฟเฟอร์ทางอ้อม (ใหม่) และแคบลงไปที่แผนผังย่อยปัจจุบันโดยปล่อยให้ส่วนที่เหลือของเอกสารตามที่เป็นอยู่


โปรดทราบว่าโดยค่าเริ่มต้นบัฟเฟอร์ทางอ้อมเดียวเท่านั้นจะถูกเก็บรักษาไว้ตลอดเวลา อย่างไรก็ตามเรื่องนี้สามารถเปลี่ยนแปลงได้โดยการตั้งค่าไปorg-indirect-buffer-display new-frame
Christoph
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.