Tronca l'inizio della colonna allineata a destra nella tabella org


10

Ho una colonna in una tabella in modalità org che contiene nomi di file lunghi. La parte interessante del nome file sono gli ultimi caratteri anziché il primo. Ad esempio, dati i file seguenti:

/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

Voglio che la mia tabella organizzativa assomigli a questa:

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

Ma invece sembra così:

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

È possibile troncare le colonne allineate a destra a sinistra, in modo da poter vedere la parte più a destra delle voci?

Risposte:


8

Per quanto ne so, non esiste un supporto integrato per la personalizzazione del troncamento delle colonne della tabella. Tuttavia, è possibile modificare il comando org-table-alignper ottenere ciò che si desidera:

  1. Trova il file org-table.el. Si trova nella directory org-modedell'installazione. Il modo più veloce per aprirlo è tramite M-x find-library RET org-table RET.

  2. Copia la definizione di org-table-alignnel tuo .emacsfile.

  3. Sostituire

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

    con

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

Testato utilizzando la versione 8.2.8 di org-mode.


3
Questo può essere fatto come un consiglio? In generale cerco di evitare di modificare direttamente le librerie esistenti, se possibile. Soprattutto quelli che ottengono aggiornamenti frequenti da fonti up-stream. EDIT: vedo ora che stai raccomandando di creare una copia della funzione nel mio file init. Immagino sia meglio che modificarlo direttamente.
nispio,

@nispio "In generale cerco di evitare di modificare direttamente le librerie esistenti, se possibile." Questo è esattamente il motivo per cui ho suggerito di creare una copia della funzione :) In questo momento non vedo come lo faresti usando i consigli, poiché gli argomenti rilevanti per determinare quale parte di una cella da nascondere sono calcolati al volo quando chiamando add-text-propertiesil comando originale.
itsjeyd

Sarebbe bello se una versione futura di org-modesuddividesse questa parte in un defun separato, in modo che potesse essere più facilmente consigliato o sostituito. Gli org-modesviluppatori sono abbastanza aperti a raccogliere richieste per cose come questa?
nispio,

@nispio Non sei sicuro delle richieste pull, ma potresti provare a inviare un suggerimento in questo senso alla mailing list . EDIT : Qui dice che puoi anche inviare patch alla mailing list, e questa pagina descrive il "modo preferito di inviare patch" a org-mode.
itsjeyd
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.