ฉันจะทำให้ชื่อบัฟเฟอร์ Dired รวมถึงเส้นทางแบบเต็มได้อย่างไร


9

ฉันมักจะdiredเปิดบัฟเฟอร์มากมายรวมถึงบางส่วนสำหรับโฟลเดอร์ที่มีชื่อเหมือนกัน บางครั้งสิ่งนี้ทำให้ฉันเปลี่ยนไปใช้สิ่งที่ผิดดังนั้นฉันกำลังมองหาวิธีในการแก้ไขปัญหานี้

ปัจจุบันถ้าฉันเปิดโฟลเดอร์ที่มีชื่อเหมือนกันหลายdiredรายการรายการบัฟเฟอร์ของฉันจะมีลักษณะดังนี้:

foo
foo<2>
bar
foo<3>
bar<2>

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

foo</full/path/to/foo>
foo</another/path>

และอื่น ๆ ฉันสามารถชำระเช่น:

/full/path/to/foo
/another/path/foo

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

คำตอบ:


8

คุณสามารถรับพฤติกรรมนี้ได้โดยใช้uniquifyกับการตั้งค่าต่อไปนี้:

(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets
      uniquify-min-dir-content 999)

อย่างไรก็ตามโปรดทราบว่าการไม่ซ้ำกันทำงานได้ทั่วโลกไม่เพียง แต่ในบัฟเฟอร์ที่ dired


เจ๋งขอบคุณ! ฉันจะรอและดูว่ามีวิธีแก้ปัญหาหรือไม่ที่ให้เส้นทางแบบเต็มก่อนที่จะยอมรับคำตอบ
Scott Weldon

1
ฉันเพิ่งเพิ่มบันทึกเกี่ยวกับuniquify-min-dir-contentสิ่งที่จะช่วยคุณได้ อย่างไรก็ตามโปรดทราบว่านี่เป็นการตั้งค่าส่วนกลาง: ใช้ได้กับบัฟเฟอร์ทั้งหมดไม่ใช่แค่บัฟเฟอร์ที่ตายตัว!
paprika

5

ใน. emacs ของฉันฉันกำหนดเส้นทางแบบเต็มสำหรับบัฟเฟอร์ Dired ด้วยวิธีนี้:

(add-hook 'dired-after-readin-hook
      (lambda ()
        ;; Set name of dired buffers to absolute directory name.
        ;; Use `generate-new-buffer-name' for vc-directory
        ;; which creates duplicate buffers.
        (rename-buffer (generate-new-buffer-name dired-directory))))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.