- Опубликовано: 6 дек 2024
- 388
Менеджер задач todo.sh CLI: Полный гайд по установке, настройке и использованию
Введение
В век постоянно растущего потока информации и задач, эффективное управление делами становится настоящим вызовом. Существуют десятки приложений и сервисов для планирования: от громоздких корпоративных решений до простейших текстовых списков. Однако для тех, кто предпочитает простоту, минимализм и гибкость, идеальным выбором может стать todo.sh – CLI-приложение, работающее с текстовым форматом todo.txt.
Что такое todo.sh?
todo.sh – это консольный инструмент для работы с задачами в формате обычного текстового файла todo.txt. Его ключевые преимущества:
-
Простота и минимализм: Все данные хранятся в обычном текстовом файле
todo.txt. Вы можете открывать его любым текстовым редактором или использовать различные скрипты и утилиты для обработки. -
Гибкость и расширяемость:
todo.shпредоставляет удобный CLI-интерфейс, множество команд и параметров, а также возможность писать собственные плагины. - Прозрачность и переносимость: Ваш список дел – это просто текстовый файл. Его легко синхронизировать с помощью Git, Dropbox или других облачных сервисов, а также мигрировать между различными системами.
Формат todo.txt
Пример задач в формате todo.txt может выглядеть так:
(A) Купить продукты +Дом @Магазин
Сходить на тренировку +Здоровье @Спортзал
Позвонить клиенту +Работа @Телефон
- Приоритеты указываются в круглых скобках
(A),(B),(C)и т.д. - Контексты помечаются через
@(например,@Магазин), а проекты – через+(например,+Дом). - Такой формат упорядочивает задачи и облегчает фильтрацию по контекстам, проектам и приоритетам.
Более подробные примеры и описание формата можно найти в репозитории todo.txt на GitHub.
Установка и подготовка
-
Установка todo.sh: Репозиторий todo.txt-cli доступен на GitHub. Вы можете клонировать его или установить согласно официальной документации. Для большинства UNIX-подобных систем установка сводится к загрузке скрипта
todo.sh, его копированию в подходящее место (/usr/local/bin/или аналог) и выставлению прав на исполнение. -
Создание alias: Чтобы не набирать
todo.shкаждый раз, добавьте удобное сокращение (алиас) в ваш~/.bashrcили~/.zshrc:alias td='todo.sh'Теперь можно использовать команду
tdвместоtodo.sh. -
Конфигурация: Существует файл конфигурации, обычно
~/.todo/config, в котором можно указать путь кtodo.txtиdone.txt, а также другие настройки. Пример минимальной конфигурации:TODO_DIR="$HOME/todo" TODO_FILE="$TODO_DIR/todo.txt" DONE_FILE="$TODO_DIR/done.txt"После настройки убедитесь, что в папке
todoнаходятся необходимые файлы:touch $TODO_DIR/todo.txt touch $TODO_DIR/done.txt
Основные команды todo.sh
Ниже приведён подробный обзор команд, с которыми вы чаще всего будете работать. Общий шаблон вызова:
todo.sh [опции] действие [номер_задачи] [описание_задачи]
Добавление задач
-
add / a: Добавляет новую задачу в
todo.txt.td add "Купить хлеб +Дом @Магазин"После выполнения, задача будет добавлена в конец файла.
-
addm: Добавление нескольких задач за один раз.
td addm "Сходить на почту +Быт @Центр Отправить отчёт +Работа @Офис" -
addto: Добавление строки в произвольный файл внутри каталога с задачами.
td addto inbox.txt "Обдумать идеи для блога"
Изменение уже существующих задач
-
append / app: Добавление текста в конец существующей задачи.
td append 3 "срочно"Теперь задача №3 будет содержать дополнительное слово "срочно".
-
prepend / prep: Добавляет текст в начало задачи.
td prepend 3 "ВАЖНО:" -
replace: Полная замена текста задачи по её номеру.
td replace 2 "Проверить почту +Работа @Компьютер" -
move / mv: Перемещение задачи из одного файла в другой (например, из
todo.txtвinbox.txt).td move 5 inbox.txt
Управление приоритетами
-
pri / p: Установка приоритета задачи.
td pri 1 AЗадача №1 получит приоритет A
(A). -
depri / dp: Удаление приоритета у задачи.
td depri 1
Удаление и завершение задач
-
del / rm: Удаление задачи.
td del 4Если же вы хотите удалить из задачи конкретное слово, можно указать его после номера.
-
do: Пометить задачу как выполненную (переместит её в
done.txt, если автархивация включена).td do 3
Архивация и оптимизация
-
archive: Перемещает все выполненные задачи из
todo.txtвdone.txt.td archive -
deduplicate: Удаляет дубликаты строк из
todo.txt.td deduplicate
Просмотр списка задач
-
list / ls: Отображает все задачи или фильтрует их по ключевым словам.
td list td ls @Магазин td ls "хлеб\|молоко" -
listall / lsa: Показывает задачи из
todo.txtиdone.txt.td listall -
listcon / lsc: Отображает все встречающиеся контексты (@...).
td listcon -
listproj / lsprj: Показывает все проекты (+...).
td listproj -
listpri / lsp: Фильтрация по приоритетам.
td listpri A td listpri A-C -
listfile / lf: Отображает строки другого файла, например
inbox.txt.td listfile inbox.txt -
report: Создаёт отчёт о количестве открытых и выполненных задач.
td report
Помощь и служебные команды
-
help: Отображает справку по командам.
td help td help add -
listaddons: Показывает все добавленные или переопределённые действия.
td listaddons -
shorthelp: Краткая справка по всем командам.
td shorthelp
Опции запуска
При вызове todo.sh или td, можно использовать дополнительные опции:
-
-f: Принудительное выполнение без подтверждений. -
-h: Краткая справка. -
-p: Отключение цветов. -
-v,-vv: Повышение подробности вывода. -
-d CONFIG_FILE: Использование альтернативного файла конфигурации. -
-t,-T: Управление автоматическим добавлением даты. -
-n,-N: Сохранение или удаление пустых строк и нумерации. -
-a,-A: Управление автархивацией завершённых задач. - И другие.
Полный список опций можно найти в официальной документации или вызвать td help.
Заключение
todo.sh – мощный инструмент, который при всей своей простоте может стать вашим основным центром управления задачами. Благодаря текстовому формату todo.txt, легко автоматизировать рутинные действия, использовать grep для фильтрации, применять регулярные выражения и интегрировать список дел с другими утилитами.
Попробуйте поработать с todo.sh: настроить приоритеты, контексты, проекты и реализовать собственный удобный рабочий процесс. Со временем вы наверняка оцените прозрачность и эффективность такого подхода к планированию.
Используйте todo.sh, чтобы навести порядок в своих делах и сосредоточиться на важном!
Была статья полезной: