Obetnij początek wyrównanej do prawej kolumny w tabeli organizacji

10

Mam kolumnę w tabeli trybu organizacji, która zawiera długie nazwy plików. Interesującą częścią nazwy pliku jest kilka ostatnich znaków, a nie pierwszy. Na przykład, biorąc pod uwagę poniższe pliki:

/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

Chcę, aby mój stół org wyglądał tak:

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

Zamiast tego wygląda to tak:

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

Czy jest możliwe, aby kolumny wyrównane do prawej były obcinane w lewo, dzięki czemu mogę zobaczyć pozycje z prawej strony?

nispio
źródło

Odpowiedzi:

8

O ile mi wiadomo, nie ma wbudowanej obsługi dostosowywania obcięcia kolumn tabeli. Możesz jednak zmodyfikować polecenie, org-table-alignaby osiągnąć to, co chcesz:

  1. Znajdź plik org-table.el. Znajduje się w katalogu twojej org-modeinstalacji. Najszybszym sposobem na otwarcie jest poprzez M-x find-library RET org-table RET.

  2. Skopiuj definicję org-table-aligndo swojego .emacspliku.

  3. Zastąpić

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

    z

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

Testowane przy użyciu wersji 8.2.8 org-mode.

itsjeyd
źródło
3
Czy można to zrobić jako poradę? Ogólnie staram się unikać bezpośredniego modyfikowania istniejących bibliotek, jeśli to możliwe. Zwłaszcza te, które często otrzymują aktualizacje ze źródeł up-stream. EDYCJA: Teraz widzę, że zaleca się utworzenie kopii funkcji w moim pliku init. Myślę, że to lepsze niż bezpośrednia modyfikacja.
nispio
@nispio „Ogólnie staram się unikać bezpośredniej modyfikacji istniejących bibliotek, jeśli to możliwe.” Właśnie dlatego zasugerowałem utworzenie kopii funkcji :) W tej chwili nie widzę, jak można to zrobić za pomocą porady, ponieważ argumenty, które są istotne dla ustalenia, która część komórki do ukrycia są obliczane w locie, gdy wywołanie add-text-propertiesoryginalnego polecenia.
itsjeyd
Byłoby miło, gdyby przyszła wersja org-moderozbiła tę część na odrębne odrzuty, aby łatwiej było ją doradzić lub wymienić. Czy org-modeprogramiści są dość otwarci na pobieranie takich wniosków?
nispio
@nispio Nie jestem pewny co do żądań ściągnięcia, ale możesz spróbować wysłać sugestię zgodnie z tymi liniami do listy mailingowej . EDYCJA : Tutaj napisano , że możesz również przesyłać łatki na listę mailingową, a ta strona opisuje „preferowany sposób przesyłania łatek” org-mode.
itsjeyd