Обернуть содержимое ячейки в таблицу режима орг.


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и другой 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. Поместите курсор во второй столбец и печатайте, C-c C-c <пока столбец не станет желаемой ширины.

    Совет: Используйте универсальную привязку ключа аргумента, C-uчтобы быстро повторить этот шаг. Например, если ваша ячейка 500 символов , и вы хотите изменить ширину 10 символов делать , C-u 490 C-c C-c <которые будут повторять C-c C-c <команду 490 раз.

  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). Нажатие Cc ~ в качестве шага 7 преобразует таблицу table.el обратно в редактируемую организационную таблицу.
Хейкки

@Heikki Приятно знать! Спасибо! В версии 25 мне нужно было добавить шаг 4, потому что таблица не распознавалась, но и не выдавала ошибок. Вы хотите, чтобы я добавил шаг 7 C-c ~для преобразования обратно в org-tableформат?
Мелиоратус

1
Есть ли возможность ускорить шаг 5, скажем, когда у меня есть 500 символов контента, и я хочу, чтобы они были обернуты до 10 символов?
user2740

1
Сделал видео: youtu.be/Jo4RlPqs0_c
Compro Prasad

1
что такое шаг 4? Является ли t-r-tсокращение для другой команды? Я обнаружил, что при работе с таблицами, имеющими текст со встроенными ссылками, после шага 3 выбираются только заголовки столбцов, и мне нужен способ выбора каждой ячейки таблицы, как на шаге 4. Однако я не знаю, какой шаг 4 на самом деле имеет в виду, так как M-x t-r-tдля меня ничего не показывает режим org 9.1.9
adamc

6

Отрегулируйте ширину столбца с помощью Wrap Around

Вот решение, адаптированное для режима org 9.1.13, Spacemacs (0.200.13), emacs 26.1 для удобства.

Начиная со следующего содержимого в буфере в режиме org:

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

необходимо оставить NEWLINE поверх таблицы выше, чтобы избежать ошибки в table.el.

  1. Преобразовать таблицу в формат table.el с помощью Cc ~ +----------+-------------------+ | 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 я могу вручную настроить перенос строки. После ручного редактирования я могу преобразовать его обратно и получить нужные обертки.
Ю Шен

1
SPC u 10не требуется. 10автоматически предисловие к нему C-u 10- (Emacs 27.0.50, Spacemacs 9.0.)
Гэвин

4

Как только вы проследите за принятым ответом и исправите размер длинного столбца в существующей таблице, переключение режима фиксированной ширины таблицы, M-x table-fixed-width-modeпохоже, поможет автоматически обернуть (будущие) длинные строки текста в столбце при редактировании таблицы. Режим. Вы входите в режим редактирования таблицы, нажимая клавишуC-c '

Проверено на: Emacs 25.2.2, Org-Mode 9.1.6

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.