ตัดส่วนเริ่มต้นของคอลัมน์ที่จัดชิดขวาในตาราง org


10

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

/data/capture/abcd_spectrum_01292000.dat
/data/capture/abcd_spectrum_02251435.dat
/data/capture/abcd_spectrum_02251847.dat
/data/capture/abcd_spectrum_02251848.dat
/data/capture/abcd_spectrum_02251848.dat
/data/capture/abcd_spectrum_02251849.dat
/data/capture/abcd_spectrum_02251851.dat
/data/capture/abcd_spectrum_02251852.dat
/data/capture/abcd_spectrum_02251852.dat
/data/capture/abcd_spectrum_02270910.dat

ฉันต้องการตารางองค์กรของฉันที่จะมีลักษณะเช่นนี้:

|            File | TD | FD | MF | Notes:               |
|-----------------+----+----+----+----------------------|
|           <r15> |    |    |    | <l20>                |
| <=_01292000.dat |    |    |    |                      |
| <=_02251435.dat |    |    |    |                      |
| <=_02251847.dat |    |    |    |                      |
| <=_02251848.dat |    |    |    |                      |
| <=_02251848.dat |    |    |    |                      |
| <=_02251849.dat |    |    |    |                      |
| <=_02251851.dat |    |    |    |                      |
| <=_02251852.dat |    |    |    |                      |
| <=_02251852.dat |    |    |    |                      |
| <=_02270910.dat |    |    |    |                      |

แต่มันดูเหมือนว่า:

|            File | TD | FD | MF | Notes:               |
|-----------------+----+----+----+----------------------|
|           <r15> |    |    |    | <l20>                |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |

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

คำตอบ:


8

เท่าที่ฉันรู้ไม่มีการสนับสนุนในตัวสำหรับการปรับแต่งการตัดทอนของคอลัมน์ตาราง อย่างไรก็ตามคุณสามารถแก้ไขคำสั่งorg-table-alignเพื่อให้บรรลุสิ่งที่คุณต้องการ:

  1. org-table.elค้นหาไฟล์ มันตั้งอยู่ในไดเรกทอรีของorg-modeการติดตั้งของคุณ M-x find-library RET org-table RETวิธีที่เร็วที่สุดที่จะเปิดมันจะผ่าน

  2. คัดลอกคำจำกัดความของorg-table-alignไปยัง.emacsไฟล์ของคุณ

  3. แทนที่

    (add-text-properties f1 (length xx) (list 'org-cwidth t) xx)
    (add-text-properties (- f1 2) f1
                   (list 'display org-narrow-column-arrow)
                   xx)))))
    

    กับ

    (let (s1 e1 s2 e2 arrow-string)
      (if (and falign1 (equal (downcase falign1) "r"))
          (setq s1 0
                e1 (- (length xx) f1)
                s2 (- (length xx) f1)
                e2 (- (length xx) (- f1 2))
                arrow-string "<=")
        (setq s1 f1
              e1 (length xx)
              s2 (- f1 2)
              e2 f1
              arrow-string org-narrow-column-arrow))
      (add-text-properties s1 e1 (list 'org-cwidth t) xx)
      (add-text-properties s2 e2 (list 'display arrow-string) xx))))))
    

การทดสอบโดยใช้เวอร์ชั่น 8.2.8 org-modeของ


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

@nispio "โดยทั่วไปฉันพยายามหลีกเลี่ยงการแก้ไขไลบรารีที่มีอยู่โดยตรงถ้าเป็นไปได้" นั่นคือเหตุผลที่ฉันแนะนำให้สร้างสำเนาของฟังก์ชัน :) ตอนนี้ฉันไม่เห็นว่าคุณจะทำอย่างไรโดยใช้คำแนะนำเนื่องจากอาร์กิวเมนต์ที่เกี่ยวข้องกับการพิจารณาว่าส่วนใดของเซลล์ที่จะซ่อนจะถูกคำนวณทันที การโทรadd-text-propertiesในคำสั่งเดิม
itsjeyd

มันจะดีถ้าเวอร์ชั่นในอนาคตorg-modeจะแยกส่วนนี้ออกเป็น defun แยกต่างหากเพื่อที่จะได้รับคำแนะนำหรือเปลี่ยนได้ง่ายขึ้น เป็นorg-modeนักพัฒนาสวยเปิดให้ขอดึงสิ่งเช่นนี้หรือไม่
nispio

@nispio ไม่แน่ใจเกี่ยวกับคำขอดึง แต่คุณสามารถลองส่งข้อเสนอแนะตามบรรทัดเหล่านี้ไปยังรายชื่อผู้รับจดหมาย แก้ไข : มันบอกว่าที่นี่ว่าคุณยังสามารถส่งแพทช์รายการจดหมายและหน้านี้อธิบายถึง "วิธีที่แนะนำของการส่งแพทช์" org-modeเพื่อ
itsjeyd
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.