セルモードのコンテンツを組織モードテーブルでラップする


12

私はこのようなテーブルを持っています:

| Verse No | Verse      |
|          | <10>       |
|        1 | line1 li=> |
|        2 | line2 li=> |

と見たい

| Verse No | Verse      |
|          | <10>       |
|        1 | line1 line |
|          | 1 line1    |
|        2 | line2 line |
|          | 2 line2    |

私は承知していますがC-c `、それだけでは不十分です。すべてのテキストを同時に表示したいと考えています。必要に応じて、読み取り専用で問題ありません。


ここで私の答え役立つかどうかを確認してください。
ジョー

回答:


20

org-modeには2つのテーブル形式があり、デフォルトorg-tableともう1つですtable.el

セルの折り返しは、表table.el形式で使用できます。

これを試して

  1. で余分な行を削除し<10>て、テーブルが次の例のようになるようにします。

    | Verse No | Verse             |
    |        1 | Line1 Line1 Line1 |
    |        2 | Line2 Line2 Line2 |
    

    ヒント:テーブルの上下に空白行を追加します。空白行は、でテーブルを変換するときのバグを防ぐはずC-c ~です。トラブルシューティングと回避策を提供してくれた@ComproPrasadに感謝します。

  2. 更新されたテーブル内にカーソル(別名:ポイント)を置き、入力C-c ~して回答しyます。更新されたテーブルは、以下の例のようになります。

    +----------+-------------------+
    | Verse No | Verse             |
    +----------+-------------------+
    |        1 | Line1 Line1 Line1 |
    +----------+-------------------+
    |        2 | Line2 Line2 Line2 |
    +----------+-------------------+
    
  3. 更新されたテーブル内にカーソルを置いて入力するC-c 'と、新しいウィンドウまたはフレームが表示されます。

  4. タイプM-x t-r-tと各テーブルセルが強調表示されます。

  5. カーソルを2番目の列の内側に置きC-c C-c <、列が目的の幅になるまで入力します。

    ヒント:ユニバーサル引数キーバインディングC-uを使用して、この手順をすばやく繰り返します。たとえば、セルが500文字で、幅を10文字に調整したい場合は、コマンドを490回C-u 490 C-c C-c <繰り返しC-c C-c <ます。

  6. 入力C-c 'してテーブルの編集を終了します。これらの手順を実行すると、次の例のようになります。

    +----------+------+
    | Verse No | Verse|
    +----------+------+
    |        1 |Line1 |
    |          |Line1 |
    |          |Line1 |
    +----------+------+
    |        2 |Line2 |
    |          |Line2 |
    |          |Line2 |
    +----------+------+
    

ご質問ありがとうございます。
お役に立てば幸いです。


この回答は、次を使用してテストされました:
emacsバージョン:GNU Emacs 25.2.1(x86_64-unknown-cygwin、GTK +バージョン3.22.10)
orgバージョン:Orgモードバージョン9.1.2


1
ステップ4は必要ありません(少なくとも現在のemacs v。26では)。手順7でCc〜を押すと、table.elテーブルが編集可能な組織テーブルに変換されます。
ヘイッキ

@Heikki知ってよかった!ありがとう!v.25では、テーブルが認識されなかったがエラーもスローしなかったため、ステップ4を追加する必要がありました。手順7を追加しC-c ~て、org-tableフォーマットに戻すように変換しますか?
Melioratus

1
ステップ5を高速化するオプションはありますか。たとえば、500文字のコンテンツがあり、10文字にラップしたい場合などです。
user2740 '19年

1
動画を作成しました:youtu.be/Jo4RlPqs0_c
Compro Prasad

1
ステップ4とは何ですか?あるt-r-t別のコマンドの短縮形は?テキストが埋め込まれたリンクを持つテーブルを処理する場合、手順3の後で列見出しのみが選択され、手順4のように各テーブルセルを選択する方法が必要であることがわかりました。しかし、わかりませんM-x t-r-torg-mode 9.1.9で私には何も表示されないため、ステップ4が実際に参照しているもの
adamc

6

ラップアラウンドで列幅を調整

これは、便宜上、org-mode 9.1.13、Spacemacs(0.200.13)、emacs 26.1に適合したソリューションです。

org-modeのバッファーで次のコンテンツから開始します。

| Verse No | Verse             |
|        1 | Line1 Line1 Line1 |
|        2 | Line2 Line2 Line2 |

table.elのバグを回避するために、上のテーブルの上にNEWLINEを残す必要があります。

  1. Cc〜でtable.el形式にテーブルを変換します +----------+-------------------+ | Verse No | Verse | +----------+-------------------+ | 1 | Line1 Line1 Line1 | +----------+-------------------+ | 2 | Line2 Line2 Line2 | +----------+-------------------+
  2. SPC u 10 SPC SPCテーブルナローセルで列幅を直接調整 +----------+---------+ | Verse No | Verse | +----------+---------+ | 1 | Line1 | | |Line1 | | |Line1 | +----------+---------+ | 2 | Line2 | | |Line2 | | |Line2 | +----------+---------+

それは私の設定でtable.elモードに入ることなく動作します。私のspacemacsでは、Cu 10 Cc Cc <が機能しません。


私の新しいspacemacsセットアップは、上記のソリューションでは動作しません。しかし、table.el形式に変換することで、手動で行の折り返しを調整できることがわかりました。手動で編集した後、それを元に戻し、希望のラップを取得できます。
Yu Shen

1
SPC u 10必須ではありません。 (Emacs 27.0.50、Spacemacs 9.0。)に10自動で序文C-u 10-
Gavin

4

受け入れられた回答に従い、既存のテーブルの長い列のサイズを修正すると、table-fixed-width-modeを切り替えるM-x table-fixed-width-modeと、テーブル編集の列の長いテキスト行が(将来)自動的に折り返されるようになりますモード。キーを押してテーブル編集モードに入りますC-c '

テスト済み:Emacs 25.2.2、Org-Mode 9.1.6

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.