Софт

индекс
91,16

Учет затраченного времени с Emacs и org-mode

Если вам, как и мне, платят почасово, то наверняка заказчик захочет знать, на что именно ушло время и сколько.
Да и в любом случае, полезно знать это, даже если только для себя.

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

image

Сам я работаю практически исключительно в Linux, но в этой статье для чистоты эксперимента и привлечения в ряды пользователей Emacs пользователей альтернативной ОС буду использовать Windows XP.
Хочу показать, что Emacs — это удобно даже под Windows и совсем не страшно (слухи о необходимости ножного привода для набора комбинаций клавиш Emacs сильно преувеличены :-) ).
В Linux все примерно также (Emacs лучше поставить при помощи менеджера пакетов дистрибутива).

Итак, для начала нам нужен Emacs.
Emacs — это текстовый редактор (есть много мнений по этому поводу, но для целей этой статьи будем считать его текстовым редактором :-) ) из мира Unix, но прекрасно работающий и в Windows.
А org-mode — это один из множества режимов для Emacs, имеет множество возможностей (в том числе по учету времени) и с недавних пор входит в стандартный дистрибутив GNU Emacs.

Качаем GNU Emacs отсюда: http://ftp.gnu.org/gnu/emacs/windows/emacs-22.3-bin-i386.zip (37 MB)
Распаковываем архив (лучше в директорию без пробелов).
Допустим, мы распаковали в D:\emacs-22.3, тогда в D:\emacs-22.3\bin будет файлик addpm.exe, который нужно один раз запустить, и он добавит в меню «Пуск» ярлык для запуска Emacs.
А можно этот файлик и не запускать — не обязательно, а просто сразу запустить D:\emacs-22.3\bin\runemacs.exe

В общем, запускаем Emacs, создаем новый файл (кликаем на иконку), файлу даем расширение .org (не обязательно, но удобно; можно и .txt и какое угодно, в общем-то).
В будущем можно будет настроить, что для файлов с расширением .org будет по умолчанию включаться org-mode (в Linux часто уже сразу настроено), а пока просто наберем Alt+x org-mode ENTER (вместо Alt+x в Emacs принято писать M-x), после чего буфер с открытым файлом перейдет в режим org-mode.

Теперь создадим несколько пунктов для TODO-списка: каждый пункт будем начинать со звездочки и слова TODO большими буквами.
Звездочки в org-mode — это способ выделять уровни заголовков. Одна звездочка — это как <h1> в HTML, две звездочки — <h2> и т.д. Лучше, конечно, пять звездочек, но это я отвлекся…
В пунктах TODO-списка можно указывать и дополнительную информацию, не только заголовок. Например, я добавил ссылку (ссылки в org-mode — кликабельные).

image

Далее идем в Org -> Logging work и ставим галочку «Record DONE Time», чтобы при завершении выполнения пункта из TODO списка сохранялось время завершения — это удобно.

А теперь — самое интересное: переходим в тот пункт списка, над которым начинаем работать (кликаем), и из того же меню Org -> Logging work выбираем Clock in (естественно, в будущем вам будет удобней делать все это горячими клавишами, благо они подписаны возле пунктов меню).
Все, время пошло. Закончили работать над этим пунктом или просто собрались на обед — Org -> Logging work -> Clock out. Там можно делать сколько угодно раз — время будет суммироваться.

image

Когда работа по какому-либо пункту полностью выполнена, надо перевести ее из состояния TODO в DONE: Org -> TODO Lists -> TODO/DONE, при этом возможно работающий по этому пункту счетчик времени будет остановлен.

В конце дня (часа, недели месяца, за определенный период — все настраивается) можно создать сводную таблицу затраченного времени.
Для этого переходим в часть файла, где мы хотим разместить сводную таблицу (лучше в самом начале, до всех пунктов) и выбираем Org -> Logging work -> Create clock table.

image
Да, картинка та же, что в самом начале

Из этой таблицы можно удалить ненужные нам столбцы/строки, экспортировать в файл (все через меню Tbl — это тоже часть org-mode) и отослать в письме заказчику:

*Total file time* *24:05*
DONE Скачать Emacs 0:01
TODO Написать статью на habrahabr 0:02
TODO Мир во всем мире 24:02

В общем-то, все.

Конечно, возможности org-mode не ограничиваются только учетом времени: например, есть даже встроенный табличный процессор типа Excel, с формулами.
Если захотите подробней почитать про org-mode: orgmode.org/org.html или встроенная документация (в меню Org -> Documentation -> Info Documentation).
Еще на youtube есть запись интересного выступления автора org-mode в Google: www.youtube.com/watch?v=oJTwQvgfgMM
Интересна также статья habrahabr.ru/blogs/emacs/28098/

Ну а про сам Emacs вообще документации горы.
+23
2 июля 2009, 14:56
31
kit

комментарии (17)

0
somniator #
Courier New страшен как тридцать седьмой…

Чтобы обновить данные таблицы, нужно переместить на нее курсор (point) и нажать C-c C-x C-u.
0
nikitad #
DejaVu Mono?
0
somniator #
К сожалению, в Windows он тоже страшен. Consolas.
0
Mad_Fish #
Ещё Lucida Console неплох.
0
Nimnul #
Сглаживание ClearType поможет Вам увидеть истинную красоту DejaVu Mono ;)
Из тройки перечисленных моноширинных шрифтов, DejaVu Mono мне нравится больше остальных.
+2
kjuby #
Пользуюсь org-mode и с каждым днем все больше и больше удивляюсь его возможностям. Статья мне интересна. +1
0
evgenyk #
Я тоже постоянный пользователь. Особенно мне нравится то, что его можно постоянно приспосабливать под свои нужды.
НЛО прилетело и опубликовало эту надпись здесь
+1
nuit #
не подскажите инструмент на замену emacs+org-mode с более фантанистым интерфейсом и юзабилити?
0
chikuyonok #
Eclipse + Mylyn
+1
nuit #
А вы использовали emacs+org-mode перед тем как предлагать Mylyn?
Я использовал mylyn, если это и есть настоящее юзабилити, то лучше останусь на org-mode ;)
0
chikuyonok #
Нет, не использовал. А что именно вас не устроило в удобстве Mylyn?
0
nuit #
Очень удобно работать с текстовыми буфферами, в которых постояно происходит брейнсторминг и рождаются задачи. В mylyn эти визарды/деревяшки задач — точно не для меня…
0
darkk #
Спасибо за статью, как раз этой ночью прочитал по диагонали /usr/share/doc/org-mode/org.pdf с целью поиска идеального timetracker-а.
0
astenix #
Большущий плюсик!

Спасибо, полезно.
0
Waldhausen #
Большое спасибо.
0
Vyazovoi #
Для будущих org-mode wizards рекомендую начать с этого туториала:
doc.norang.ca/org-mode.html

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