метка: todo

Список дел todo.txt

Списки дел — это основной компонент моей продуктивности. Причем я использую систему GTD уже очень давно и перепробовал много хороших утилит, прежде чем прийти к системе Todo.txt
В данном разделе я рассматриваю ключевые особенности этой системы и существующие утилиты, помогающей в работе с ней, хотя, как вы наверное поняли, иногда достаточно простого текстового редактора 🙂

Ключевые особенности

  • Список дел должен быть важным инструментом управления вашим днем.
  • Сохраняйте список задач простым, как для скорости, так и для фокусирования только на важном: на работе, а не на управлении задачами.
  • Охватывайте ВСЕ ваши задачи и делайте это не медля.
  • Управляйте вашим списком задач, основываясь на приоритетах.
  • Всегда держите список задач в актуальном состоянии и обновляйте по мере необходимости. Храните не первоочередные задачи в другом месте. К примеру, планы на будущее и долгосрочные задачи. Это поможет сконцентрироваться только на важном.

Todo.txt

Эту систему разработала Gina Tripani — блогер, подскастер, разработчик и основатель LifeHacker.
Она сама, а также огромное количество разработчиков создали различное ПО для работы с этим форматом. Сейчас есть как утилиты командной строки, так и утилиты с графическим интерфейсом, прекрасно работающие во всех современных операционных системах.

Формат файла

Формат совершенно не сложный, но при этом отвечающий требованиям системы GTD :

(A) Позвонить маме @Телефон +Семья
(A) Запланировать ежегодный осмотр +Здоровье
(B) Содержание главы 5 +Роман @Компьютер
(C) Добавить обожку @Офис +TPSReports
Спланировать сад во дворе @Дом
Взять молоко @ПродуктовыйМагазин
Найти услуги самиздата +Роман @Компьютер
x Скачать Todo.txt в телефон @Телефон

Три “кита” эффективного списка задач

  • Приоритет. Ваш список задач должен вам подсказать какая следующая важная задача для вас — по проекту, контексту или вообще. Вы можете присвоить приоритет любой задаче, чтобы она вышла вверх списка.
  • Проект. Любой, даже самый крупный проект, сдвигается с места, когда выполняется малейшая задача, привязанныя к нему. Ваш список задач должен уметь выводить задачи, привязанных к конкретному проекту.
  • Констекст. По методологии GTD задачи можно привязывать к контексту, т.е. к месту или ситуации. Сообщения, которые вы должны отправить идут в контексте “@почта”; звонки в “@телефон”, домашние дела в “@дом”.

Когда у вас появляется свободная минутка и есть возможность позвонить, вы проверяете задачи в контексте “@телефон” и делаете один-два звонка.

Это все реально с todo.txt.

Особенности формата

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

Первое и наиважнейшее правило гласит: одна строка файла todo.txt это одна задача.

Незавершенные задачи

Красота формата в том, что он неструктурирован. Вы можете создавать задачи так, как вам хочется.

Только используйте специальную нотацию для проектов (+Проект), контекстов (@Контекст) и приоритетов (А).

Правило 1. Если указан приоритет, то такая задача всегда наверху списка.
Приоритет указывается символами A-Z в верхнем регистре в скобках с обязательным последующим пробелом:

(A) Позвонить маме

К примеру, эти задачи не имеют приоритета:

    Обязательно позвонить маме (A) @телефон @потом
    (b) Сходить к боссу
    (B)->Просмотреть отчет

Правило 2. Дата создания задачи (опциональна) указывается сразу после приоритета с пробелом
Если приоритета нет, то дата создания идет в начале строки в формате ГГГГ-ММ-ДД.

    2016-03-02 Документ +TodoTxt формат задач
    (A) 2016-03-02 Позвонить маме

Правило 3. Контексты и проекты указываются в любом месте строки, сразу после приоритета и даты создания.
Проекты начинаются со знака “плюс” и не должны содержать пробелов (так: “+МойСуперПроект”). Контексты начинаются со знака @ и также не должны содержать пробелов (пример: “@ПродуктовыйМагазин”).

К примеру, эта задача входит одновременно в проекты +Семья и +МирЛюбовьИСчастье, а также принадлежит контекстам @iphone и @телефон:

(A) Позвонить маме +Семья +МирЛюбовьИСчастье @iphone @телефон

Эта задача не содержит контекста:

Написать SoAndSo на soandso@example.com

А эта не входит ни в один проект:

Выучить как сложить 2+2

Завершенные задачи

Правило 1. Завершенные задачи начинаются с символа x

Если задача начинается с символа x (латиницей с маленькой буквы) с последующим пробелом, то она считается завершенной:

x 2016-03-03 Позвонить маме

Это незавершенные задачи:

    xylophone lesson
    X 2012-01-01 наложить резолюцию
    (A) x найти цены на билеты

мы используем символ “x” чтобы в любом текстовом редакторе автоматическая сортировка отнесла завершенные задачи вниз списка.

Правило 2. Дата завершения идет сразу за символом x после пробела

Пример:

x 2011-03-02 2011-03-01 Рассмотреть pull request Тима +TodoTxtTouch @github

при этом приоритет задачи теряется. Если вы не хотите этого, используйте приоритет так: pri:A .

Расширения формата

Формат todo.txt расширяем и многие утилиты используют свой синтаксис расширений формата ключ:значение. К примеру, большинство приложений используют расширение due:2017-01-02 как срок выполнения задачи.

Команды консольного клиента todo.sh


  Использование:  todo.sh [-fhpqvV] [-d ФАЙЛ_КОНФИГ] действие [номер_задачи] [описание_задачи]

  Действия:
    add "ЧТО Я ДОЛЖЕН СДЕЛАТЬ +проект @контекст" 
    a "ЧТО Я ДОЛЖЕН СДЕЛАТЬ +проект @контекст" 
      Добавляет "ЧТО Я ДОЛЖЕН СДЕЛАТЬ" в ваш файл todo.txt.
      Проекты и контексты опциональны.
      Кавычки опциональны.

    addto Имя_Файла "ДОБАВИТЬ ТЕКСТ"
      Добавляет строку в любой файл в папке с todo.txt.
      К примеру, addto inbox.txt "решение об отпуске"
      
    append НОМЕР "ДОПОЛНИТЬ ТЕКСТ"
    app НОМЕР "ДОПОЛНИТЬ ТЕКСТ"
      Добавит ДОПОЛНИТЬ ТЕКСТ в конец задачи в строке НОМЕР.
      Кавычки опциональны.

    archive
      Переместит выполненные задачи из файла todo.txt в done.txt и удалит пустые строки.

    del НОМЕР [ТЕРМИН]
    rm НОМЕР [ТЕРМИН]
      Удалит задачу в строке НОМЕР в todo.txt.  
      Если задан ТЕРМИН, удалится только он в этой строке.

    depri НОМЕР 
    dp НОМЕР
      Удалит приоритет у задачи в строке НОМЕР в todo.txt.  

    do НОМЕР
      Пометит задачу в строке НОМЕР как выполненную в todo.txt.

    list [ТЕРМИН...] 
    ls [ТЕРМИН...]
      Выведет все задачи, содержащие слово ТЕРМИН, отсортированные по приоритету с
      номерами строк. Если ТЕРМИН не задан, выведет все задачи в todo.txt.

    listall [ТЕРМИН...]
    lsa [ТЕРМИН...]
      Выведет все задачи в todo.txt И done.txt, содержащие ТЕРМИН, отсортированные
      по приоритету с номерами строк. Если ТЕРМИН не указан, выведет все задачи
      в todo.txt И done.txt объединенные и сортированные.

    listcon
    lsc
      Выведет все контексты в todo.txt.

    listfile ФАЙЛ [ТЕРМИН...]
    lf ФАЙЛ [ТЕРМИН...]
      Выведет все строки в файле ФАЙЛ из папки с todo.txt, отсортированные
      по приоритету с номерами строк. Если указан ТЕРМИН, выведет все строки,
      содержащие ТЕРМИН в файле ФАЙЛ.

    listpri [ПРИОРИТЕТ]
    lsp [ПРИОРИТЕТ]
      Выведет все задачи с приоритетом ПРИОРИТЕТ.
      Если не указать ПРИОРИТЕТ, выведет все приоритетные задачи.

    listproj
    lsprj
      Выведет все задачи с проектами (со знаком +) из todo.txt.

    move НОМЕР ФАЙЛКУДА [ФАЙЛ]
    mv НОМЕР ФАЙЛКУДА [ФАЙЛ]
      Переместит строки из файла (ФАЙЛ) в файл (ФАЙЛКУДА).
      Оба файла при этом должны находится в одной директории, указанной в 
      конфигурационном файле. Если ФАЙЛ не указан, то берется todo.txt.
		
    prepend НОМЕР "ДОБАВИТЬ ТЕКСТ"
    prep НОМЕР "ДОБАВИТЬ ТЕКСТ"
      Добавит ДОБАВИТЬ ТЕКСТ в начало строки НОМЕР.
      Кавычки опциональны.

    pri НОМЕР ПРИОРИТЕТ
    p НОМЕР ПРИОРИТЕТ
      Добавит ПРИОРИТЕТ в задачу на строке НОМЕР.  Если у задачи уже
      указан приоритет, он будет заменен указанным приоритетом ПРИОРИТЕТ.
      ПРИОРИТЕТ указывается буквами верхнего регистра от A до Z.

    replace НОМЕР "ОБНОВЛЕННАЯ ЗАДАЧА"
      Заменит задачу в строке НОМЕР на ОБНОВЛЕННАЯ ЗАДАЧА.

    report
      Добавит количество незавершенных задач и завершенных в файл report.txt.

  Options:
    -d ФАЙЛ_КОНФИГ
        Будет задействован указанный конфигурационный файл вместо обычного ~/todo.cfg
    -f
        Выполняет действия без подтверждения или интерактивного ввода
    -h
        Выводит эту справку
    -p
        Плоский вид выключает раскраску
    -a
        Не перемещать задачи в архив автоматически при выполнении
    -n
        Не сохраняет номера строк; автоматически удаляет пустые строки 
        при удалении задачи
    -v 
        Детальный режим включает подтверждения для действий
    -V 
        Выводит версию, лицензию и благодарности

Другие проекты Todo.txt

ПроектОСКодСайт
TodourMac, Windows, LinuxC++/Qthttp://nerdur.com/todour-pl/
TodoTxtMacMacObjective-Chttps://mjdescy.github.io/TodoTxtMac/
todotxt.netWindows.Nethttps://github.com/benrhughes/todotxt.net/
QTodoTxtMac, Windows, LinuxPySide (Qt)https://github.com/mNantern/QTodoTxt
todotxtRusthttps://github.com/kstep/todotxt.rs
topydoPythonhttps://github.com/bram85/topydo
todo.pyPythonhttps://git.io/todo.py
ya-todo-pyPythonhttps://github.com/abztrakt/ya-todo-py
todotxt-extentionThunderbirdhttps://addons.mozilla.org/en-US/thunderbird/addon/todotxt-extension/
todotxt-modeEmacsElisphttps://github.com/avillafiorita/todotxt-mode
todotxt.elEmacsElisphttps://github.com/rpdillon/todotxt.el
BulldogWebRubyhttps://github.com/infews/bulldog
todo.txt-akonadiKDEhttps://github.com/markushx/todo.txt-akonadi
todotxtGnome 3https://extensions.gnome.org/extension/570/todotxt/
todo.txt-PowerShellWindowsPowerShell, C#https://github.com/hartez/todo.txt-PowerShell
todotxttouchAndroid, iOShttps://github.com/ginatrapanihttps://play.google.com/store/apps/details?id=com.todotxt.todotxttouch , http://itunes.apple.com/us/app/todo.txt-touch/id491342186?ls=1&mt=8
SimpletaskAndroidhttps://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo
todotxt-extentionGoogle Chromehttps://chrome.google.com/webstore/detail/todotxt-lean-fast-task-ma/ohjgbfjncbnecbnijmpgjhodnhbhnjgk
Do StuffUbuntuhttps://launchpad.net/~ximilian/+archive/ppa
Day TasksUbuntuhttp://burnsoftware.wordpress.com/daytasks/
Vim pluginVimhttps://github.com/freitass/todo.txt-vim
Sublime pluginSublime Text 3https://github.com/dertuxmalwieder/SublimeTodoTxt

Снимки экрана

todotxt-cli

Демонстрация Todo.txt CLI 2.0 from Gina Trapani on Vimeo.