← назад

Taskwarrior. Обзор и настройка

Taskwarrior: управление задачами из терминала как искусство

Что и зачем нужен Taskwarrior

Taskwarrior — это мощный инструмент для управления задачами прямо из терминала. В отличие от громоздких GUI-органайзеров, он легковесен, гибок и идеально подходит для тех, кто проводит много времени в консоли.

Почему это удобно?

  • Работает без графического интерфейса — быстро и везде, где есть терминал.
  • Хранит данные локально (никаких лишних синхронизаций).
  • Поддерживает теги, проекты, пользовательские поля, фильтры, кастомные отчеты.
  • Гибко настраивается под ваши потребности.

    Установка Taskwarrior

    На Linux всё просто:

    sudo apt update
    sudo apt install taskwarrior
    

    Чтобы была актуаьная версия идем на официальный сайт.


    Первый запуск и впечатления

    После установки выполним:

    task list
    task add 
    

    Картинка

    По умолчанию интерфейс выглядит сухо и непонятно. Минимум полезной информации, неудобно ориентироваться.


    Кастомизация Taskwarrior

    Вот тут начинается магия. Taskwarrior позволяет настраивать всё: цвета, колонки, пользовательские поля, отчёты. Для кастомизации откроем конфиг:

    nano ~/.taskrc
    

    Внутри увидим закомментированные строки, вот эти, к примеру, отвечают за цветовую палитру:

    #include solarized-dark-256.theme
    #include solarized-light-256.theme
    #include no-color.theme
    

    Можно подключить готовые темы или создать свою, но прекола в этом не особо

    Изменим под себя

    По умолчанию вывод малоинформативный. Сделаем свой кастомный отчёт:

    # Кастомный отчет
    report.list.columns=id,project,description,check
    report.list.labels=ИД,ПРОЕКТ,ОПИСАНИЕ,СТАТУС
    report.list.sort=id+
    

    Теперь в выводе будет: ID - просто порядковый номер ПРОЕКТ - указываем к чему относится задача ОПИСАНИЕ - тут все понятно СТАТУС - ожидание, в процессе, выполнено

    Добавляем пользовательское поле

    Создадим поле check, чтобы отслеживать статус задачи:

    uda.check.type=string
    uda.check.label=Статус
    uda.check.values=wait,in_progress,done
    uda.check.default=wait
    

    Теперь у каждой задачи есть поле check с тремя состояниями:

    • wait — ждет своего часа
    • in_progress — в процессе
    • done — выполнена

    Настраиваем цвета

    Добавим цвета для статусов:

    color.uda.check.wait=white
    color.uda.check.in_progress=blue
    color.uda.check.done=green
    

    Итоговый пример

    Вот так выглядят ласт строки .taskrc:

    # Кастомный отчет
    report.list.columns=id,project,description,check
    report.list.labels=ИД,ПРОЕКТ,ОПИСАНИЕ,СТАТУС
    report.list.sort=id+
    
    # Пользовательское поле
    uda.check.type=string
    uda.check.label=Статус
    uda.check.values=wait,in_progress,done
    uda.check.default=wait
    
    # Цвета для статусов
    color.uda.check.wait=white
    color.uda.check.in_progress=blue
    color.uda.check.done=green
    

    Как это выглядит теперь

    Выполняем:

    task list
    

    И видим аккуратную таблицу с понятными колонками и цветами.

    Итог


    Работа с задачами

    Добавляем задачу:

    task add "Написать статью про Taskwarrior" project:Blog
    

    Меняем статус:

    task <ID> modify check:in_progress
    

    Завершаем задачу:

    Такой код завершит и удалит задачу из списка

    task <ID> done
    

    Удаляем задачу:

    task <ID> delete
    

    Удаляем все задачи (ОСТОРОЖНО!):

    task list delete
    

    Фильтры и быстрый поиск задач

    Taskwarrior позволяет фильтроватать задачи по полям

    Показать все задачи в статусе in_progress:

    task check:in_progress
    

    Показать все задачи по проекту:

    task project:Blog
    

    Показать все задачи, где описание содержит слово “статья”:

    task description~статья
    

    Можно комбинировать фильтры, например:

    task project:Blog check:in_progress