Весь мир в файле .org: Как использовать Emacs для заметок

в 15:25, , рубрики: emacs, notes, notion, obsidian, org-mode, organizations, terminal

index.org

Все, кто когда-либо пытался структурировать свою информацию, со временем приходят к одному важному осознанию: у них нет чёткого понимания, как именно это сделать. Мы идём искать методы, такие как PARA, GTD и другие, думая, что они могут решить нашу задачу. Всё кажется логичным, всё красиво на бумаге. Но когда приходит время применять эти методы на практике, что-то не получается. Хочется чего-то другого — системы, которая будет именно твоей. Личной, удобной, такой, которая будет работать для тебя.

Ты начинаешь рыскать по интернету, ищешь ответы на вопросы: "Как структурировать информацию?", "Как организовать свои заметки?" и неизменно натыкаешься на видео и статьи, где авторы рассказывают, как они использовали Obsidian или Notion для организации своих данных. Все эти инструменты красивые и мощные, но все равно кажется, что они не дают полного контроля над процессом.

И вот ты понимаешь: тебе не нужны просто ещё одни инструменты. Тебе нужно создать свою структуру. Структуру, которая будет полностью подстроена под твои потребности и образ жизни.

Так появился он - Emacs/org-mode.

whatis.org

Emacs - это самый обычный текстовый редактор или же нет?

Узнав о Emacs, вы можете подумать, что это просто текстовый редактор, с которым легко разобраться. Но это заблуждение. Сложность Emacs заключается в том, что он требует привыкания и изучения, особенно если вы привыкли к традиционным интерфейсам. Здесь почти все действия выполняются с помощью клавиатуры, и первое знакомство может быть немного шокирующим.

Зайдя в Emacs в первый раз, вы, скорее всего, растеряетесь: что нажимать? Как создать файл? Даже такие простые задачи могут показаться сложными. На этом этапе многие бросают попытки и возвращаются к более привычным инструментам. Со мной было так же.

Но как только я стал активно использовать Neovim, это стало для меня переходным этапом. После него я вернулся к Emacs и без проблем начал его использовать.

Существует множество дистрибутивов Emacs, которые упрощают процесс знакомства и добавляют мощные функции из коробки. Самые популярные из них — это Doom Emacs и Spacemacs. В этой статье я покажу, как работать с Doom Emacs, который стал для меня идеальным выбором.

doom

doom

configuration.org

Для начала нужно настроить всё под свои потребности. Для этого в Doom Emacs выполните следующее:

  1. Нажмите SPC f p и выберите init.el.

  2. В открывшемся файле найдите строку, связанную с org.

  3. Раскомментируйте её, используя g c c или просто убрав ;;.

Теперь модуль org активирован и готов к работе.

init.el

init.el

После того как вы раскомментировали строку в init.el, сохраните изменения. Для этого:

  1. Нажмите : внизу экрана — откроется строка.

  2. Введите w и нажмите Enter. Это сохранит файл.

Теперь файл сохранён. Далее нужно установить Treemacs для удобного переключения между заметками.

  1. Нажмите M-x (то есть Alt + x) — откроется меню/строка внизу.

  2. Введите команду package-install и нажмите Enter.

  3. После этого вам нужно найти Treemacs в списке и также нажать Enter для установки.

Весь мир в файле .org: Как использовать Emacs для заметок - 3

package-install

Дальше необходимо включить Treemacs. Для этого снова выполните следующие шаги:

  1. Нажмите SPC f p, чтобы открыть список файлов.

  2. Перейдите в config.el.

  3. В файле config.el добавьте следующий код для активации Treemacs


(use-package treemacs
        :ensure t
  :bind
  ("C-x t t"   . treemacs)
  ("M-0"       . treemacs-select-window)
  ("C-x t 1"   . treemacs-delete-other-windows)
  ("C-x t B"   . treemacs-bookmark))

После того как вы активировали Treemacs, не забудьте сохранить изменения и перезагрузить Emacs. Для этого достаточно ввести : doom/reload и нажать EnterEmacs обновит конфигурацию. Теперь можно открыть Treemacs, нажав C-x t t, где C-x — это Ctrl + x.

Для работы с файлами и папками внутри Treemacs также доступны полезные команды. Чтобы выбрать директорию, используйте команду treemacs-select-directory, а для создания новой директории/папки :) — бинды типа с-d в буффере Treemacs или treemacs-create-dir. Для создания новых файлов достаточно воспользоваться командой treemacs-create-file или биндом с-f.

Теперь с Treemacs вы получите удобную систему навигации и управления файлами, которая значительно улучшит ваш рабочий процесс.

structure.org

Перейдём, наконец, к самой структуре. Как только мы создали основную директорию, следующим шагом будет создание структуры файлов, которую я предлагаю. Она достаточно гибкая и легко поддаётся изменению в зависимости от ваших требований. Моя структура максимально минималистична, интуитивно понятна и включает в себя всё необходимое на данный момент.

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

📁 1-notes  (тут хранятся заметки daily, также можно использовать weekly and yearly)
  📁 daily ( тут хранятся ежедневные заметки )
   📝 dailynotes.org
📁 2-study ()
  📁 english
    📝 index.org (информация о предмете с ссылками) 
    (Можно создать также новые папки и темы в них, пример снизу)
    📁 present simple (пример разделения на темы)
  📁 programming
    📝 index.org
📁 3-projects (тут хранятся личные проекты и проекты по работе)
  📁 work-project (проекты по работе)
    📁 projectname
      📝 index.org (информация о проекте, кто в этом проекте учавствует и т.д)
  📁 pet-projects (собственные проекты)
    📁 projectname
      📝 index.org
📁 4-peoples (хранятся заметки о людях)
  📁 ivanivanov (для каждого человека создается отдельная папка)
    📝 ivanivanov.org (хранится информация о человеке)
    

templates.org

Теперь, когда структура организована, пришло время перейти к шаблонам, которые можно легко адаптировать под собственные нужды. Эти шаблоны помогут вам начать работать с Emacs Org-mode, создавая простые и эффективные заметки, задачи и проекты.

1-notes ‑> daily ‑> dailynotes.org

Для dailynotes.org будет создана команда(но сейчас мы рассматриваем шаблон), чтобы без проблем создавать ежедневные заметки.

#+title: 2024Dec28 ( Использую title, можно было бы использовать date, но это позже объясню)
#+note-type: daily

* TODO Задачи на день [%]  (Проценты - это сколько задач выполнено в проц. соотношении)
- [ ] 

* Настроение
  
* Заметки

2-study -> english -> index.org

#+title: english
#+note-type: learn

* Ссылки
  [[file:../../2-notes/english/presentsimple.org][Present Simple]]  
  (Мы создаем тут ссылки на файлы с темами)

3-projects -> work-project(pet-project) -> projectname -> index.org

#+title:Project Name
#+date:    2024-12-28
#+contact: Ivanov Ivan

* Tasks [0/1] (Можно использовать % для счета в процентах)
  - [ ] Создать базу данных 
* Notes
  Необходимо продумать какие сущности будут в базе, нужно больше информации об ИС.

4-peoples -> ivanivanov -> ivanivanov.org

#+title: Ванька Встанька
#+date:     2024-12-17
#+city:     Moscow
#+country: Russia
#+number: 7 800 555 35 35

* Notes
(Полная информация о человеке)

В Emacs Org-mode для организации информации используются простые, но мощные инструменты. Например, чек-боксы (- [ ], - [x]) позволяют отслеживать задачи:

- [ ] Написать статью
- [x] Прочитать книгу

Заголовки разных уровней (*, **, ***) создают структуру документа, деля его на разделы и подзаголовки:

* Основная задача
** Подзадача

Метаданные вроде #+title: и #+date: позволяют хранить информацию о документе:

#+title: Мои Заметки
#+date: 2024-12-29

Статусы задач, такие как TODO, DONE и многие статусы, помогают отслеживать прогресс:

* TODO Написать статью
* DONE Прочитать книгу

other.org

В emacs есть встроенная функция, для быстрого создания ежедневных заметок, но он создает заметки именно в своей директории и для этого нужно перейти снова в config.el и просто скопировать код ниже.

(defun my/org-capture-quick-note ()
  "Capture a quick note for today with the date as the filename and set a template."
  (interactive)
  (let* ((date (format-time-string "%Y%b%d"))                 ; Формируем дату в формате ГодМесяцДень (например, 2024Dec27)
         (file (concat "~/me/1-notes/daily/" date ".org")))   ; Формируем путь к файлу
    ;; Если файл существует, открываем его
    (if (file-exists-p file)
        (find-file file)                                      ; Открываем существующий файл
      (progn
        (find-file file)                                      ; Если файла нет, создаём его
        (insert (concat "#+title: " date "n"
                        "#+note-type: dailynn"             ; Добавляем тип заметки как "daily"
                        "* TODO Задачи на день [%]n"
                        "- [ ] nn"
                        "* Настроениеn"
                        "nn"
                        "* Заметкиn"
                        "n"))                             ; Вставляем шаблон с секциями
        (org-mode)))))                                        ; Включаем org-mode

(global-set-key (kbd "C-c q") 'my/org-capture-quick-note) ; При нажатии на Ctrl-c + q будет создаваться ежедневный файл в daily


(setq org-agenda-files (directory-files-recursively "~/me/1-notes/daily/" "\.org$")) ; Для работы с org-agenda

resume.org

В данной статье я описал ещё не все возможности Org-Mode, даже не приступили к Org-agenda и самого Emacs, но зато затронул базовую составляющую, которая не сильно должна нагружать вас. Этот подход предоставляет удобную систему для ведения заметок, которая уже на старте помогает организовать ваш рабочий процесс.

Также хочу подчеркнуть, что я не утверждаю, что Obsidian или Notion — это плохие инструменты. Наоборот, они отличные решения для ведения заметок, и структура введения заметок, которую я предложил, вполне совместима с этими инструментами. Вы можете использовать её в Obsidian, Notion или любом другом приложении для заметок, если вам это удобно. Важно, чтобы инструмент, который вы выберете, подходил именно вам, и обеспечивал максимальную гибкость в организации информации.

links.org

Полезные ссылки по emacs.

  1. Joshua Petitma — его опыт в работе c Emacs.
    В этом видео Joshua делится своим опытом работы с Emacs и рассказывает, как он помогает ему в учебе.

  2. jvscholz — Что он использует для эффективного обучения.

  3. Все же видели парня, который учится по 12 часов? В этом видео jvscholz расскажет о гаджетах и приложениях, которые он использует для эффективного обучения, включая Emacs.

Автор: valeriy-isaev

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js