Pull to refresh

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

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

В этой статье я расскажу об одном из способов учета затраченного времени — 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 вообще документации горы.
Tags:
Hubs:
+23
Comments 17
Comments Comments 17

Articles