Skip to main content

simple-todo: Yet another command line TODO tool (命令行 TODO 工具)

Project description

simple-todo

Yet another command line TODO tool (命令行TODO工具)

特色

命令行 todo list 工具有很多,但要么功能非常复杂,而功能简单的又很可能缺少我需要的功能。

为了解决这个矛盾,获得一个功能很少很简单,同时我想要的功能都有的工具,就只能自己做了。

也许这个工具不能满足你的需求,但你可以参考,可以修改,本工具的代码量很小,都是些简单的 Python 语句,没有啥算法,也没啥奇技淫巧,而且结构清晰,变量命名认真,必要的地方都有注释。

主要功能

  1. 简便、快速地临时记录待办事宜;
  2. 周期提醒,可设置每周、或每月、每年重复提醒。

哲学

每一个效率工具,都体现了一种事务管理哲学。本工具有两个主要理念:

理念1: 临时待办事项必须尽快清理,不可长期积压。
理念2: 功能多不一定好,同时代码越少越好。(代码少 bug 就少,容易维护,容易修改)

举个例子,基于这两个理念,调整事项顺序的功能、分类或打标签功能等我就不做了,不做这些功能有三个大好处:

  1. 当待办事项的列表变长时会直观地感受到不舒服,并且没有办法掩盖(如果能调整顺序,就会堆积大量事项在列表底部,如果能分类或按标签筛选,就会造成待办事项不多的错觉)
  2. 调整顺序与分类有一定的趣味性,也会让“强迫症患者”忍不住去整理列表,浪费时间和精力。
  3. 不做这些功能可以少写很多代码,用户也可以少看几行文档,少学几种操作。

安装

简单安装方法

执行以下命令即可:

pip install simpletodo

另一种安装方法

另外,还可以使用 pipx 来安装, pipx 会自动为 simple-todo 创建一个虚拟环境,不会污染系统环境,并且使用时不用管理虚拟环境,直接使用 todo 命令即可。推荐大家多了解一下 pipx。

pipx 的介绍及安装方法: https://pypa.github.io/pipx/ 安装 pipx 后执行以下命令即可:

pipx install simpletodo

基本使用方法

  • 使用命令 todo 不带任何参数,可显示待办事项列表。这是最常用的功能,因此把最简单命令给了它。
  • 使用命令 todo -a 可显示更多事项(包括已完成事项及未来计划)。
  • 使用命令 todo add ..., 例如 todo add Buy more beer 可把 "Buy more beer" 添加到待办事项列表中。
  • 使用命令 todo done [N], 例如 todo done 3 可把序号 3 的事项标记为“已完成”。后续可以使用 todo redo [N] 把已完成事项恢复为待办事项,或使用 todo delete [N] 彻底删除一个事项,还可以用 todo clean 来一次性删除全部已完成事项。

关于序号

注意,每次执行 add、done、redo、delete 等操作后,都有可能使序号发生变化,因此每次操作前请先使用 todotodo -a 确认序号后再操作。

这个设计虽然会使操作稍有不便,但也符合本工具的理念:让待办列表变长时感到不便从而避免积压,同时尽量减少功能、减少代码量。

设置周期提醒日程

todo repeat 2 -every month -from today

使用如上所示的命令,可以让序号 2 的事项每个月重复提醒一次,从今天开始。假设今天是 1 月 5 日,那就会在每个月的 5 日自动把该事项添加进待办列表中。

其中,还可以选择 -every week-every year

-from 后面指定具体日期,比如 -from 2022-2-28, 可以使用的简称只有 todaytomorrow

使用命令 todo repeat [N] -stop 可清除序号 N 的事项的周期提醒计划(仅使其不再重复提醒,不会删除事项)。

数据备份

使用命令 todo --where 可查看数据文件的具体位置,那是一个 json 文件,备份该文件即可备份全部数据。

另外还可以使用 todo --dump 来直接输出上述 json 文件的全部内容。

由于本工具的理念是不积压待办事项,因此该 json 文件通常体积很小,内容很少。

帮助信息

使用命令 todo -htodo add -h 可查看帮助信息,其中 add 可以是其他子命令,每个子命令都有帮助信息。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simpletodo-0.1.0.tar.gz (11.1 kB view hashes)

Uploaded Source

Built Distribution

simpletodo-0.1.0-py3-none-any.whl (10.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page