Memotong awal kolom rata kanan di tabel org


10

Saya memiliki kolom dalam tabel mode-org yang berisi nama file yang panjang. Bagian yang menarik dari nama file adalah beberapa karakter terakhir daripada yang pertama. Misalnya, diberikan file-file di bawah ini:

/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

Saya ingin tabel org saya terlihat seperti ini:

|            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 |    |    |    |                      |

Tetapi sebaliknya terlihat seperti ini:

|            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=> |    |    |    |                      |

Apakah mungkin untuk membuat kolom rata kanan terpotong ke kiri, sehingga saya bisa melihat bagian paling kanan dari entri?

Jawaban:


8

Sejauh yang saya tahu, tidak ada dukungan bawaan untuk mengkustomisasi pemotongan kolom tabel. Namun, Anda dapat memodifikasi perintah org-table-alignuntuk mencapai apa yang Anda inginkan:

  1. Temukan file org-table.el. Terletak di direktori org-modeinstalasi Anda . Cara tercepat untuk membukanya adalah melalui M-x find-library RET org-table RET.

  2. Salin definisi org-table-alignke .emacsfile Anda .

  3. Menggantikan

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

    dengan

    (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))))))

Diuji menggunakan versi 8.2.8 dari org-mode.


3
Bisakah ini dilakukan sebagai saran? Secara umum saya mencoba menghindari memodifikasi perpustakaan yang ada secara langsung jika memungkinkan. Terutama yang sering mendapat pembaruan dari sumber up-stream. EDIT: Saya melihat sekarang bahwa Anda merekomendasikan untuk membuat salinan fungsi di file init saya. Saya kira itu lebih baik daripada langsung memodifikasinya.
nispio

@nispio "Secara umum saya mencoba menghindari memodifikasi perpustakaan yang ada secara langsung jika memungkinkan." Itulah sebabnya saya menyarankan untuk membuat salinan fungsi :) Saat ini saya tidak melihat bagaimana Anda akan melakukan ini menggunakan saran, karena argumen yang relevan untuk menentukan bagian sel mana yang akan disembunyikan dihitung dengan cepat ketika memanggil add-text-propertiesperintah asli.
itsjeyd

Akan lebih baik jika versi masa depan org-modeakan memecah bagian ini menjadi defun terpisah sehingga bisa lebih mudah disarankan atau diganti. Apakah org-modepengembang cukup terbuka untuk menarik permintaan untuk hal-hal seperti ini?
nispio

@nispio Tidak yakin tentang permintaan tarik, tetapi Anda dapat mencoba mengirim saran di sepanjang baris ini ke milis . EDIT : Dikatakan di sini bahwa Anda juga dapat mengirimkan tambalan ke milis, dan halaman ini menjelaskan "cara yang disukai untuk mengirim tambalan" ke org-mode.
itsjeyd
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.