1 октября 2010 в 18:45

Введение в org-mode emacs перевод

По сути это даже не перевод, а свободное изложение моих мыслей на эту тему, после ознакомления с указанным источником. То есть — переработка. Некоторые, показавшиеся очевидными, вещи, были намеренно исключены из текста. Какие-то, показавшиеся полезными — добавлены.

Введение


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

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

Если у Вас версия 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, или воспользоваться этой ссылкой, просмотрев мануал по нему — и все будет.
+21
8131
67
ks_ks 9,5

Комментарии (29)

+2
Exabiche, #
Круто, спасибо. Я джва года ждал такую статью :)
–3
vorphalack, #
в который раз убеждаюсь в правоте рисунка

+1
wholeman, #
Спасибо, emacs давно пользую в качестве основного редактора, но даже не знал, что там такое есть.:)
Вот только «так же» вместо «также» сейчас все пишут, но чтобы «что бы» раньше не встречал.
+1
AlieNCrazY, #
Очень мощно. Под vim тоже есть расширение «VimOutliner» с частично схожим функционалом.
0
VlK, #
На самом деле это не просто outliner.

В оргмоде можно публиковаться в разные форматы, в том числе и в онлайн; можно вести электронные таблицы; и просто таблицать использовать формулы латекса; есть очень удобное быстрое внесение заметок и пунктов списков туду. Знаю людей, которые ведут свой сайт статический, настроив публикацию в html и синхронизацию с сервером.

Там есть метки, приоритеты, интеграция с календарем, циклические напоминания.

Каждый функциональный элемент настраивается и используется строго под себя.

В общем, это — нирвана мира органайзеров и систем ведения заметок.

И в то же время — просто куча текстовых файлов, которые можно редактировать чем угодно.
+3
zahardzhan, #
Я из Org Mode веду блог на гитхабе (при этом не пользуясь вообще никакими веб-интерфейсами), пишу в нем программы и держу в .org-файле непосредственно конфиг Emacs'а. Это одна из самых убойных его фич.
+1
glorybox, #
Ооо! Спасибо!

Это самый лучший туториал. Сразу все стало понятно.
+1
evgenyk, #
org-mode это действительно убойная вещь. Я ждал ее можно сказать пол своей жизни. Это единственный софт, на основе которого можно создать действительно полезный и удобный персональный органайзер скомбинированный с персональной системой. Когда не было org-mode, такую персональную информационную систему на базе wiki-mode. Но как только появился org-mode тут же перелез на него, он гораздо лучше заточен под это.
Особенно классно получается в комбинации с dedicated-mode, escreen/workspaces
0
naryl, #
И чем оно лучше Outlook'а?

Спасибо, после вашей статьи (в отличие от всех предшествующих) наконец-то становится понятно в чём его преимущество перед блокнотом и ручкой.

> Вы, там, можете перемещать

Там вы можете перемещать. Это же не обращение к читателю.
+1
naryl, #
>_<
> <trolol>И чем оно лучше Outlook'а?</trolol>
+2
evgenyk, #
Для меня лично org-mode лучше любого другого органайзера с фиксированной структурой тем, что это не законченное приложение, а конструктор с очень большой гибкостью. Т.е. получается так, вы начинаете строить свой органайзер, базу знаний, и постепенно обустраиваете ее под себя, чем-то пользуетесь, что-то забрасываете совсем, что-то меняете, комбинируете с другими фишками emacs.
В приложениях же с фиксированной структурой, или делаете так, или никак.
+1
webus, #
Вы Outlook под Linux (UNIX-like) запускали? Microsoft Office купили? А Windows?
0
naryl, #
Ну вот. Из-за того, что я забыл как писать теги в комментах тут теперь холивар начнётся.
+1
format, #
Даа, org-mode это действительно уникальный органайзер. Я тоже перепробовал множество решений, как онлайн, так и графических, всё не то.
А с org-mode я завернул весь туду в один файлик и синхронизирую его через git на ноуте и рабочем компьютере, это архи удобно :).
Хоть и пользуюсь им уже 3 года, так и не получилось освоить agenda и планирование с помощью неё, эта статья приоткрывает эту нишу для меня, сейчас пойду пробовать :).
Еще советую посмотреть видео: orgmode.org/talks/index.html#sec-1 создатель очень понятно объясняет зачем и как он сделал org-mode.
0
evgenyk, #
Я тоже так и не стал пользоваться аджендой, просто список TODO. Ну и в проектах свои списки TODO. Но у меня по жизни мало активностей, привязанных ко времени.
+1
nikitad, #
Скажите, а как org-mode относится к GTD? Как раз сейчас читаю книгу Дэвида Аллена, и ищу GTD-compliant органайзер.
0
evgenyk, #
На мой взгляд, можно сделать GTD приспособление на базе org-mode. По сути org-mode это ведь только база, сделать можно что хочешь, а GTD — это определенные процедуры. Ну и делаем нужные списки, напоминалку по процедуре и ОК. Или я неправильно Вас понял?
0
nikitad, #
ОК, посмотрю. Кстати, а можно ли как-нибудь синхронизироваться с Windows Mobile КПК?
0
evgenyk, #
Не, это я не знаю.
0
zahardzhan, #
Dropbox?
+3
evgenyk, #
Не обязательно пользоваться всем, можно только приятными фишками, просто обзываем текстовый файл .org и пользуемся например (каждой можно пользоваться отдельно):
1) Иерархическими заголовками, с сокрытием/открыванием нижележащих уровней и простым управлением.
2) Гиперссылками на любые текстовые файлы (и не только).
3) Таблицами.
4) Экспортом в HTML.
5) Легким вставление дат.
А:
6) Метками и тэгами
по желанию
Например очень просто сделать такую штучку, как у меня, слева фиксированное узкое окно с гиперссылками, причем организованы в распахивающиеся разделы, справа еще три окна, одно со списком дел, тоже фиксированное, а в остальных двух открываются документы при нажатии на ссылку в левом окне.
0
nikitad, #
А что это за штука в левом окне?
0
evgenyk, #
В левом окне тоже документ в орг-моде, стрелочки, это как-то раз я в ссылки картинки приделал ради развлечения. Единственное, что используется, кроме org-mode, dedicated-mode, это, чтобы в левом окне всегда был оди и тот же буфер.
+1
Exabiche, #
Реквеструю конфиг.
0
evgenyk, #
Написал статеечку с картинками и кодом в блог:
blog.swlogic.eu/2010/10/09/emacs-org-mode-moj-emacs/
+1
Exabiche, #
Ух ты, спасибо!
0
VlK, #
есть знаменитый туториал про GTD + orgmode. Где-то на сайте режима был туториал на эту тему.
0
Zubchick, #
Емаксом пользуюсь уже давно, а вот орг-модом сколько не пробовал не могу начать пользоваться.
0
evgenyk, #
Хотел написать Вам, но промахнулся, ушло выше, где с картинкой.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.