Org-roam. Daily notes

2025-06-08 · 3 мин. для прочтения
blog computer-science

Org-roam. Daily notes.

Содержание

1 Общая информация

  • Org-roam Daily Notes — функция для создания ежедневных заметок в Emacs с использованием Org-roam.
  • Каждая ежедневная заметка — это уникальный узел (node) в файле с именем, содержащим дату.
  • Обычно такие заметки используются для:
    • ведения дневника (journaling);
    • быстрых заметок (fleeting notes);
    • черновиков, привязанных к конкретной дате.

2 Основные возможности

  • Автоматическое создание ежедневных заметок
  • Интеграция с системой ссылок Org-roam
  • Возможность настройки расположения файлов

3 Преимущества использования

  • Централизованное хранение ежедневных заметок
  • Автоматическая генерация структуры файлов
  • Простая навигация по записям
  • Интеграция с системой заметок Org-roam

4 Настройка

4.1 Каталог для ежедневных заметок

  • По умолчанию Org-roam создаёт ежедневные файлы в подпапке daily/ внутри каталога org-roam-directory.
  • Можно изменить папку (например, на journal/):
    (setq org-roam-dailies-directory "journal/")  ;; путь относительно org-roam-directory
    

4.2 Шаблоны захвата (capture templates)

  • Структура шаблонов для Dailies такая же, как и для обычных org-roam-capture-templates.

  • Стандартный шаблон по умолчанию:

    ("d" "default" entry "* %?"
     :target (file+head "%<%Y-%m-%d>.org" "#+title: %<%Y-%m-%d>\n"))
    
  • Файлы обязательно должны иметь имя в формате даты (например, %<%Y-%m-%d>.org), чтобы работала интеграция с календарём.

  • Или так:

    (setq org-roam-dailies-capture-templates
          '(("d" "daily" plain
             (function org-roam-capture--get-point)
             ""
             :immediate-finish t
             :file-name "dailies/%<%Y-%m-%d>"
             :head "#+title: %<%Y-%m-%d>")))
    
  • Пример настройки с шифрованием (GPG):

    (setq org-roam-dailies-capture-templates
     '(("d" "default" entry "* %?"
        :target (file+head "%<%Y-%m-%d>.org.gpg" "#+title: %<%Y-%m-%d>\n"))))
    

5 Сочетания клавиш

  • Все команды Dailies доступны через org-roam-dailies-map.
  • В конфигурации её обычно привязывают к префиксу, например C-c n d:
КомандаКлавишаДействие
org-roam-dailies-capture-todaynЗахват в сегодняшнюю заметку (открывает окно capture)
org-roam-dailies-goto-todaydОткрыть сегодняшнюю заметку
org-roam-dailies-goto-yesterdayyОткрыть вчерашнюю заметку
org-roam-dailies-goto-tomorrowtОткрыть завтрашнюю заметку
org-roam-dailies-goto-datecОткрыть заметку за произвольную дату (с календарём)
org-roam-dailies-goto-next-notefПерейти к следующей ежедневной заметке
org-roam-dailies-goto-previous-notebПерейти к предыдущей
  • Разница между goto и capture:

    • Goto (...-goto-today): открывает файл заметки. Если файла нет — он создаётся с заголовком из шаблона.
    • Capture (...-capture-today): запускает интерфейс org-capture, позволяя заполнить тело заметки по шаблону.
  • Навигация по ссылкам

    • C-c C-o - открыть ссылку под курсором
    • C-b - переместиться на один символ назад (если ссылка не открывается)
    • RET - если установлен параметр org-return-follows-link, можно переходить по ссылкам нажатием Enter
  • Дополнительные команды

    • SPC Enter - альтернативное сочетание для перехода по ссылкам
    • M-x org-roam-dailies-find - поиск и открытие любой ежедневной заметки
    • M-x org-roam-dailies-calendar - открыть календарь с ежедневными заметками
  • В таблицах работает только стандартное сочетание C-c C-o

  • При создании новых ссылок может потребоваться перемещение курсора на один символ назад для корректного перехода

6 Методика и рабочие процессы

6.1 Базовый рабочий процесс

  • Настроить Org-roam и папку для ежедневных заметок.
  • Создавать запись на сегодня командой org-roam-dailies-capture-today (C-c n d n).
  • Писать заметки, затем сохранять C-c C-c или отменять C-c C-k.
  • Команду можно запускать несколько раз в течение дня, добавляя новые записи.

6.2 Рабочий процесс с задачами

  • Пусть ежедневные заметки используются для отслеживания задач с статусами TODO / DOING / MEETING / DONE / POSTPONED:
    • Утром открывает предыдущий день (C-c n d b), копирует содержимое в сегодняшний (C-c n d d), очищает выполненные задачи и добавляет новые.
    • В течение дня возвращается к сегодняшней заметке (C-c n d d) для обновлений.
    • В конце периода (например, при performance review) все записи помогают вспомнить, что было сделано.

6.3 Подход с тремя типами заметок

  • Можно адаптировать классическую систему Zettelkasten (см. Метод Zettelkasten):

    • Fleeting notes (быстрые заметки) — неструктурированные мысли, которые приходят в голову
    • Literature notes — заметки во время чтения или потребления контента
    • Permanent notes — всё остальное: идеи, факты, статьи, дневниковые записи
  • Ежедневные заметки подходят для fleeting notes.

  • Их можно быстро захватывать в течение дня, а потом, при необходимости, превращать в постоянные заметки.

Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы. Научные интересы относятся к области теоретической физики и математического моделирования.