Zawiń zawartość komórki w tabeli trybu org

12

Mam taki stół:

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

Chciałbym to zobaczyć jako

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

Jestem tego świadomy, C-c `ale to nie wystarczy, chcę zobaczyć cały tekst jednocześnie. Tylko do odczytu jest w razie potrzeby OK.

użytkownik2740
źródło
Sprawdź, czy moja odpowiedź tutaj pomaga.
Joe

Odpowiedzi:

20

Tryb org ma 2 formaty tabel, domyślny, org-tablea drugi to table.el.

Zawijanie komórek jest dostępne dla tabel w table.elformacie.

Spróbuj tego

  1. Usuń dodatkowy wiersz za pomocą, <10>aby twoja tabela wyglądała podobnie do poniższego przykładu:

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

    Wskazówka: Dodaj pustą linię powyżej i poniżej tabeli. Puste linie powinny zapobiec błędowi przy konwersji tabeli C-c ~. Dzięki @ComproPrasad za rozwiązywanie problemów i zapewnienie obejścia.

  2. Umieść kursor, czyli punkt, w zaktualizowanej tabeli, a następnie wpisz C-c ~i odpowiedz y. Zaktualizowana tabela powinna wyglądać podobnie do poniższego przykładu:

    +----------+-------------------+
    | Verse No | Verse             |
    +----------+-------------------+
    |        1 | Line1 Line1 Line1 |
    +----------+-------------------+
    |        2 | Line2 Line2 Line2 |
    +----------+-------------------+
    
  3. Umieść kursor w zaktualizowanej tabeli, a następnie wpisz, C-c 'a pojawi się nowe okno lub ramka.

  4. Wpisz M-x t-r-ti każdą komórkę tabeli należy wyróżnić.

  5. Umieść kursor w drugiej kolumnie i pisz, C-c C-c <aż kolumna osiągnie pożądaną szerokość.

    Wskazówka: użyj uniwersalnego powiązania klucza argumentu, C-uaby szybko powtórzyć ten krok. Na przykład, jeśli twoja komórka ma 500 znaków i chcesz dostosować szerokość do 10 znaków, zrób to, C-u 490 C-c C-c <co powtórzy C-c C-c <polecenie 490 razy.

  6. Wpisz, C-c 'aby zakończyć edycję tabeli. Te kroki powinny dać ci podobny do poniższego przykładu:

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

Dziękujemy za pytanie!
Mam nadzieję, że to pomogło!


Ta odpowiedź została przetestowana przy użyciu:
wersji emacs: GNU Emacs 25.2.1 (x86_64-unknown-cygwin, GTK + wersja 3.22.10)
wersja org: wersja Org w wersji 9.1.2

Melioratus
źródło
1
Krok 4 nie jest potrzebny (przynajmniej w obecnej wersji emacs v. 26). Naciśnięcie Cc ~ podczas kroku 7 konwertuje tabelę table.el z powrotem do edytowalnej tabeli org.
Heikki
@Heikki Świetnie wiedzieć! Dzięki! W wersji 25 musiałem dodać krok 4, ponieważ tabela nie została rozpoznana, ale nie zgłosiła żadnych błędów. Czy chcesz, żebym dodał krok 7, C-c ~aby przekonwertować z powrotem do org-tableformatu?
Melioratus
1
czy istnieje opcja przyspieszenia kroku 5, powiedzmy, gdy mam 500 znaków treści i chcę, aby zostały one spakowane do 10 znaków?
user2740,
1
Zrobił film: youtu.be/Jo4RlPqs0_c
Compro Prasad
1
co to jest krok 4? Czy t-r-tistnieje skrót dla innego polecenia? Zauważyłem, że w przypadku tabel zawierających tekst z osadzonymi linkami po kroku 3 wybierane są tylko nagłówki kolumn i potrzebuję sposobu na wybranie każdej komórki tabeli, jak w kroku 4. Jednak nie wiem do czego odnosi się krok 4, ponieważ M-x t-r-tnic nie pokazuje mi w trybie org 9.1.9
adamc
6

Dostosuj szerokość kolumny za pomocą opcji Zawiń

Oto rozwiązanie dostosowane dla trybu org 9.1.13, Spacemacs (0.200.13), emacs 26.1 dla wygody.

Począwszy od następującej zawartości w buforze w trybie organizacji:

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

musi pozostawić NEWLINE na powyższej tabeli, aby uniknąć błędu table.el.

  1. Konwertuj tabelę na format table.el za pomocą Cc ~ +----------+-------------------+ | Verse No | Verse | +----------+-------------------+ | 1 | Line1 Line1 Line1 | +----------+-------------------+ | 2 | Line2 Line2 Line2 | +----------+-------------------+
  2. Bezpośrednio dostosuj szerokość kolumny za pomocą SPC u 10 SPC SPC tabela wąskokomórkowa +----------+---------+ | Verse No | Verse | +----------+---------+ | 1 | Line1 | | |Line1 | | |Line1 | +----------+---------+ | 2 | Line2 | | |Line2 | | |Line2 | +----------+---------+

Działa w mojej konfiguracji bez wchodzenia w tryb table.el. W przypadku moich statków kosmicznych Cu 10 Cc Cc <nie działa.

Yu Shen
źródło
Moje nowsze konfiguracje znaków kosmicznych nie działają już z powyższym rozwiązaniem. Ale znalazłem to, że konwertowanie do formatu table.el, a następnie mogę ręcznie dostosować zawijanie wiersza. Po ręcznej edycji mogę go przekonwertować i uzyskać żądane zawijanie.
Yu Shen,
1
SPC u 10Nie jest wymagane. 10automatycznie poprzedza to C-u 10- (Emacs 27.0.50, Spacemacs 9.0.)
Gavin
4

Po podążeniu za zaakceptowaną odpowiedzią i ustaleniu rozmiaru długiej kolumny w istniejącej tabeli, przełączanie trybu tabeli o stałej szerokości M-x table-fixed-width-modewydaje się załatwić automatyczne zawijanie (przyszłych) długich linii tekstu w kolumnie w edycji tabeli tryb. Wejdź do trybu edycji tabeli, naciskając klawiszC-c '

Testowano na: Emacs 25.2.2, Org-Mode 9.1.6

mod0
źródło