Orgmode Table Форматирование ячеек

У меня есть таблица режимов в Emacs, которая выглядит так:

 |--------------------------------+------------------------------------------------------|
 | <20>                           | <60>                                                 |
 | How do you alter your password | The command to alter your password in oracle is::    |
 | in Oracle?                     |                                                      |
 |                                |     ALTER USER {userid} IDENTIFIED BY {password};    |
 |                                |                                                      |
 |--------------------------------+------------------------------------------------------|

Когда размер таблицы изменяется с C-c C-c то есть с сочетанием клавиш: Ctrl-C + Ctrl-Cили автоматически он разрушает пространство внутри элементов таблицы, и я получаю:

 |--------------------------------+------------------------------------------------------|
 | <20>                           | <60>                                                 |
 | How do you alter your password | The command to alter your password in oracle is::    |
 | in Oracle?                     |                                                      |
 |                                | ALTER USER {userid} IDENTIFIED BY {password};        |
 |                                |                                                      |
 |--------------------------------+------------------------------------------------------|

Он автоматически удаляет начальные пробелы из содержимого в таблице. Есть ли способ предотвратить это в таблицах режима org? Я хочу, чтобы режим org не менял форматирование содержимого.

Это с версией Emacs 24.3.50, но в версии то же самое 24.2 (Пробовал в обеих версиях).

1 ответ

По-настоящему хакерский способ обойти это - переопределить или неадекватно настроить org-table-align. Соответствующий фрагмент примерно здесь. Изменив * на?, Вы сохраните пробелы в начале.

---./org-table.el
+++./org-table.el.orig
@@ -752,7 +752,7 @@;; Получить поля данных, разделив строки.
     (setq fields (mapcar
          (лямбда (л)
-           (org-split-string l " *| *"))
+           (org-split-string l " *|?"))
          (delq nil (строки последовательности копирования))));; Сколько полей в самой длинной строке?
     (условие-случай ноль

Я не уверен, если вы действительно хотите сделать это, хотя. Рассматриваете ли вы реструктуризацию разметки, возможно, с использованием вместо этого заголовков с пользовательской функцией разметки на тот случай, если впоследствии вам действительно понадобится выглядеть как таблица? Если это заставляет вас удивляться, другой способ достичь этого может быть с блоками #+BEGIN_HTML и #+END_HTML. Не элегантно, но ну хорошо...

Другие вопросы по тегам