Как стать автором
Обновить

Введение в org-mode emacs

Время на прочтение4 мин
Количество просмотров52K
Автор оригинала: David O'Toole
По сути это даже не перевод, а свободное изложение моих мыслей на эту тему, после ознакомления с указанным источником. То есть — переработка. Некоторые, показавшиеся очевидными, вещи, были намеренно исключены из текста. Какие-то, показавшиеся полезными — добавлены.

Введение


Описано было довольно хорошо вот здесь.

Как его подключить

Если у Вас версия 22 и выше — он у Вас уже установлен. Если нет — установите новую версию. :)

Активация

Вставим следующую штуку в наш ~/.emacs
(require 'org-install)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-log-done t)
И с этих пор будем уверены, что все самое основное у нас есть. Что такое «org-store-link» и «org-agenda» определимся дальше.

Автор считает, что хорошо бы сделать отдельную папочку под *.org файлы.

Базовые вещи


Создание и эксплуатация нового файла .org

Просто заводим .org файл в намеченной папке, открываем его емаксом. И если у Вас в .emacs есть все, что мы писали выше, то автоматически включится org-mode.

Просто лист задач(headline)

Выглядит вот так:
image

headline — это то, что помечается звездочкой. Хорошо, что на официальном сайте Org-Mode оказалась шпора, которая помогла найти ту команду: M+RET, которая этот headline создает. Что бы каждый раз не тянуться к звездочке, можно использовать её.

Что бы создать хедлайн другого уровня, мы должны сначала создать хедлайн первого, и, находясь в нем, нажать M+S+(стрелка вправо\влево). Понятно, что нулевой уровень он нам создавать откажется.

Примечательно, что M+RET создает хедлайн одного и того же уровня с предыдущим. И если уровень первый — он перепрыгнет через одну строку.

Если впоследствии мы захотим пометить любой из хелдайнов, как задачу к выполнению, достаточно просто нажать C+c С+t. Тыкнув комбинацию повторно, мы увидим, что задача меняет свой статус с TODO, на DONE, и все станет выглядеть так:
image
А если нажать ещё(третий раз), то какой-либо статус уберется — останется только пометка о закрытии и сама надпись хедлайна.

Используем хедлайны, что бы структурировать документ

Иногда, лучшим путем, для описания ваших идей, будет их структурирование(outlining).
И вот как это может выглядеть на практике:
image

Теперь займемся наполнением

Вы можете легко добавить любой текст, под своими заголовками(все теми же хедлайнами):
image

Ссылки в другие места

Для того что бы создать ссылку достаточно использовать такой шаблон — [[ссылка][описание]].
И вот так это будет выглядеть во время редактирования:
image

А после редактирования останется только само описание:
image

Для создания ссылки можно ещё использовать комбинацию C+c C+l. В мини-буфере emacs предложит сначала написать ссылку, затем после нажатия RET — её создать. Находясь в мини-буфере так же можно нажать TAB, для просмотра, какие виды ссылок бывают.

Что бы открыть вновь созданные ссылки необходимо навести точку на ссылку и тыкнуть C+c C+o. Или C+u C+c C+o — если Вы хотите открыть её в другом окне.

Ради интереса, можно перейти в другой файл, нажать там C+c l. И ссылка на этот файл поместится в хранилище ссылок. Перейдя в любой наш файл .org мы можем извлечь из этого хранилища любые сохраненные ссылки, с помощью той же команды C+c C+l.

Самые наблюдательные читатели уже могли заметить, что эта команда как раз и есть та, которую мы вписали в ~/.emacs, в начале.

Обзор документа

Когда Вы почувствовали, что хочется немного уменьшить объем написанного, можно нажать shift-TAB и получится вот так:
image
Заметьте, что теперь показываются только заголовки первого уровня.

И когда мы нажмем это самое ещё пару-тройку раз, он нам будет разворачивать все больше:
image

И больше:
image

Попробуем более крутые фишки


До того, как мы закончим, попробуем освоить: глобальный TODO лист(global TODO list), составление графика(scheduling), и повестку дня(agenda) в org-mode. Все это используется для разных видов отображения TODO вещей — с разными приоритетами, из разных .org-файлов, для удобства.

Установка


Для начала нам необходимо задать переменную org-agenda-files, которая скажет org-mode, в каких файлах нам искать TODO, и запланированные(scheduled) вещи.

Давайте представим, что у нас есть 3 файла .org: один для работы, другой для дома, третий для школы.
Тогда мы должны добавить в наш файл ~/.emacs следующее:
(setq org-agenda-files (list "~/org/work.org"
                             "~/org/school.org" 
                             "~/org/home.org"))

Глобальный TODO лист

Тыкнем C-c a t, что бы в него войти. Org-mode просканирует все org-agenda-files и представит список всех действующих TODO штук:
image

Там Вы можете перемещать курсор на любую TODO вещь, и нажать t, что бы отметить её как завершенную(DONE). Или нажать RET, что бы в неё войти и перепрыгнуть в то место и в тот файл, где она расположена.

Планирование задач и использование повестки дня

Давайте попробуем навести курсор на любую задачу. При нажатии C+c C+s откроется календарь, где мы сможем выбрать любую дату:
image

После того как мы это сделаем и нажмем RET, под задачей появится пометка, «запланировано»(SCHEDULED), с датой:
image

Так же мы можем использовать C+c C+d, для обозначения «крайних сроков»(DEADLINE), по аналогичному принципу.

Теперь сохраним наш файл и нажмем C+c a a. Будет отображено расписание на эту неделю:
image

Теперь можем нажать l (как Leonid), что бы включить вид «log». Будет это выглядеть примерно так:
image

Заключение


Это было всего лишь резюме возможностей emacs Org-Mode. Для того, что бы получить более подробную информацию о нем, ниже я предоставил несколько ссылок.

Полезной фичей, для введения в Ваш обиход использования org-mode, может оказаться описанная в этой статье возможность. А если очень хочется познакомиться с описанием всех базовых возможностей Org-Mode, можно в самом emacs нажать C+h i C+s org C+m C+m, или воспользоваться этой ссылкой, просмотрев мануал по нему — и все будет.
Теги:
Хабы:
Всего голосов 37: ↑29 и ↓8+21
Комментарии29

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань