Truncar el comienzo de la columna alineada a la derecha en la tabla de organización


10

Tengo una columna en una tabla de modo org que contiene nombres largos de archivo. La parte interesante del nombre de archivo son los últimos caracteres en lugar del primero. Por ejemplo, dados los archivos a continuación:

/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

Quiero que mi tabla de organización se vea así:

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

Pero en cambio se ve así:

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

¿Es posible hacer que las columnas alineadas a la derecha se trunquen a la izquierda, para que pueda ver la parte más a la derecha de las entradas?

Respuestas:


8

Hasta donde yo sé, no hay soporte incorporado para personalizar el truncamiento de las columnas de la tabla. Sin embargo, puede modificar el comando org-table-alignpara lograr lo que desea:

  1. Encuentra el archivo org-table.el. Se encuentra en el directorio de su org-modeinstalación. La forma más rápida de abrirlo es a través de M-x find-library RET org-table RET.

  2. Copie la definición de org-table-aligna su .emacsarchivo.

  3. Reemplazar

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

Probado con la versión 8.2.8 de org-mode.


3
¿Se puede hacer esto como un consejo? En general, trato de evitar modificar directamente las bibliotecas existentes si es posible. Especialmente los que reciben actualizaciones frecuentes de fuentes ascendentes. EDITAR: ahora veo que está recomendando crear una copia de la función en mi archivo de inicio. Supongo que es mejor que modificarlo directamente.
nispio

@nispio "En general, trato de evitar modificar directamente las bibliotecas existentes si es posible". Esa es exactamente la razón por la que sugerí crear una copia de la función :) En este momento no veo cómo lo harías usando consejos, ya que los argumentos que son relevantes para determinar qué parte de una celda para ocultar se calculan sobre la marcha cuando llamando add-text-propertiesal comando original.
itsjeyd

Sería bueno si una versión futura de org-modedividiría esta parte en un defun separado para poder aconsejarlo o reemplazarlo más fácilmente. ¿Los org-modedesarrolladores están bastante abiertos a recibir solicitudes para cosas como esta?
nispio

@nispio No estoy seguro acerca de las solicitudes de extracción, pero podría intentar enviar una sugerencia en este sentido a la lista de correo . EDITAR : Aquí dice que también puede enviar parches a la lista de correo, y esta página describe la "forma preferida de enviar parches" org-mode.
itsjeyd
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.