Emacs Org-mode — это не отдельное приложение, а режим внутри Emacs: обычные текстовые файлы с разметкой, которые одновременно служат списком задач, базой заметок, таблицей и исходником для экспорта. Их можно читать без Emacs, хранить в Git и обрабатывать через grep. Ниже — рабочий минимум: структура, повестка дня, быстрый захват мыслей и экспорт в HTML, PDF и Markdown.

Почему текстовые файлы

Org не запирает данные в базе и не требует подписки. Один файл может быть проектом, другой — дневником, третий — списком покупок. Связи задаются ссылками, а поиск работает обычными средствами системы.

  • файлы остаются читаемыми в любом редакторе;
  • история изменений ведётся через Git без экспорта;
  • grep и ripgrep ищут по всем заметкам сразу;
  • экспорт в HTML, PDF, Markdown и ODT встроен;
  • нет зависимости от чужого сервера и формата.

Установка и первый файл

В Debian, Ubuntu и Linux Mint Org идёт в составе Emacs, отдельная установка не нужна. В 2026 году достаточно Emacs 29 или новее: Org 9.6+ уже включён. Создайте каталог и откройте первый файл.

sudo apt install emacs
mkdir -p ~/org
emacs ~/org/inbox.org

Настройки удобно держать в init.el. Переменная org-directory задаёт базу, а org-agenda-files может указывать на каталог целиком — Emacs сам найдёт в нём файлы .org.

;; ~/.emacs.d/init.el
(require 'org)
(setq org-directory "~/org"
      org-default-notes-file (expand-file-name "inbox.org" org-directory)
      org-agenda-files (list org-directory)
      org-log-done 'time)

Заголовки, TODO и теги

Заголовки начинаются со звёздочек, а ключевые слова TODO задают состояние. Срок ставится свойством DEADLINE, теги — в конце строки. Всё это остаётся обычным текстом.

* Проект: сайт
** TODO Сверстать страницу контактов
   DEADLINE: <2026-11-10 Tue>
   :PROPERTIES:
   :CATEGORY: site
   :END:
** NEXT Собрать макет
** DONE Согласовать структуру

TAB сворачивает и раскрывает поддеревья, C-c C-t переключает состояние, C-c C-s и C-c C-d ставят дату и дедлайн, C-c C-q добавляет теги. Свои состояния задаются переменной org-todo-keywords: например, WAIT с меткой времени, когда задача отложена.

Повестка дня

Повестка собирает задачи и сроки из всех файлов. Нажмите C-c a a для недельного обзора или C-c a t для списка всех TODO. Свои представления добавляются в org-agenda-custom-commands.

(setq org-agenda-custom-commands
      '(("d" "День" agenda "" ((org-agenda-span 'day)))
        ("w" "Неделя" agenda "" ((org-agenda-span 'week)))))

После этого C-c a d открывает день, а C-c a w — неделю. В повестку попадают только файлы из org-agenda-files; если список пуст, проверьте переменную и добавьте файл командой C-c [.

Быстрый захват мыслей

Мысль удобнее записать за пару секунд, чем искать нужный файл. Шаблоны захвата открываются по C-c c, затем по клавише шаблона. %? ставит курсор, %U — дату и время, %a — ссылку на место, откуда вы пришли.

(setq org-capture-templates
      '(("t" "Задача" entry (file+headline "inbox.org" "Задачи")
         "* TODO %?\n  %U\n  %a")
        ("n" "Заметка" entry (file+datetree "notes.org")
         "* %?\n%U")))

Всё попадает в inbox.org, а не в случайные проекты. Раз в день inbox разбирается: задача получает проект и срок, заметка — тег, мусор удаляется. Это проще, чем поддерживать идеальную структуру заранее.

Таблицы и вычисления

Таблицы Org считают формулы прямо в файле. Формула $4=$2*$3 применяется к каждой строке, а C-c C-c пересчитывает значения. Горизонтальные линии отделяют шапку и итоги, C-c | создаёт таблицу из выделенного текста.

| Товар  | Цена | Кол-во | Сумма |
|--------+------+--------+-------|
| Кабель |  300 |      2 |       |
| Мышь   | 1200 |      1 |       |
#+TBLFM: $4=$2*$3

Готовую таблицу можно выгрузить в CSV командой M-x org-table-export и открыть в LibreOffice. Для больших расчётов оставьте данные в таблице, а вычисления вынесите в код через org-babel: блок #+begin_src bash выполняется по C-c C-c.

Экспорт

Экспорт вызывается через C-c C-e. HTML — h o, PDF — l p, Markdown — m o, ODT — o o. Для PDF нужен установленный LaTeX, иначе экспорт завершится ошибкой; для офисных документов достаточно ODT.

(require 'ox-html)
(require 'ox-md)
(setq org-html-validation-link nil)

Титул и параметры задаются в начале файла: #+TITLE, #+AUTHOR, #+OPTIONS: toc:nil. Пакетный экспорт удобен для сайта или регулярной отчётности.

emacs --batch --eval "(progn (require 'ox-html) \
  (find-file \"~/org/plan.org\") (org-html-export-to-html))"

Обратная косая черта переносит строку в shell. Если команда не срабатывает, проверьте, что ox-html действительно загружен: без require функция экспорта может быть не определена.

Синхронизация и гигиена

Файлы дружат с Git: коммиты раз в день дают историю и резервную копию. Синхронизация через обычный remote не требует проприетарного клиента, а конфликты решаются как в любом текстовом проекте.

cd ~/org
git init
git add .
git commit -m "org: ежедневный снимок"

Не храните в репозитории пароли и токены: Org удобен для заметок, но не является хранилищем секретов. Для личных данных используйте отдельный закрытый репозиторий и шифрование.

Типичные ошибки

Большинство проблем решается проверкой трёх вещей: пути, режима и бэкенда экспорта. Пустая повестка почти всегда означает неверный org-agenda-files. Если не открывается меню экспорта, нужный модуль не загружен. Если PDF не собирается — нет LaTeX или в документе недопустимый символ.

  • проверьте M-x org-version и путь к файлу через C-x C-f;
  • добавьте файл в повестку командой C-c [;
  • для PDF установите texlive-latex-recommended и посмотрите буфер *Messages*;
  • битые ссылки открываются по C-c C-o, путь можно исправить вручную;
  • если повестка тормозит, архивируйте выполненные поддеревья через C-c C-x a.

Итог

Org-mode даёт предсказуемый рабочий процесс без облака и подписок: задачи в TODO-деревьях, повестка из всех файлов, быстрый захват в inbox и экспорт одной комбинацией. Начните с одного файла и трёх состояний, затем добавьте таблицы и Git. Чем проще структура, тем выше шанс, что вы будете пользоваться ею каждый день.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте