組織テーブルの右揃えの列の先頭を切り捨てます


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.elorg-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 2014年

@nispio「一般的に、可能であれば、既存のライブラリを直接変更しないようにします。」それがまさに私が関数のコピーを作成することを提案した理由です:)現時点では、アドバイスを使用してこれを行う方法はわかりません。add-text-properties元のコマンドを呼び出す。
itsjeyd 2014年

の将来のバージョンでorg-modeこの部分を別のdefunに分割して、より簡単にアドバイスまたは置き換えられるようにすると便利です。org-mode開発者は、このようなものに対するプルリクエストにかなりオープンですか?
nispio 2014年

@nispioプルリクエストについては不明ですが、これらの行に沿って提案をメーリングリストに送信してみてください。編集ここでは、パッチをメーリングリストに送信することもできます。このページでは、「パッチの推奨送信方法」について説明していますorg-mode
itsjeyd 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.