Todo.txt是lifehacker的Gina Trapani使用bash编写的一个todo列表管理器。Todo.txt 可以应用于任何需要管理任务和提高生产力的场景,特别适用于个人和小团队使用。你可以在命令行对待做事宜进行添加、删除、修改优先级,以及其他各种操作。所有内容都保存在文本文件中。
例如任务A依赖于任务B, 你可以将B设置为A的子任务,只有你完成A之后,B才会出现。
安装
- Download the latest stable release of Todo.txt CLI (available as a ZIP or TAR archive) and extract it.
- Open a command window. On Windows, this is Cygwin Bash Shell (not Command Prompt!); elsewhere, this is often called Terminal. It usually presents you with a $ prompt. cd into the directory where you extracted todo.sh. Make the todo.sh script executable:
使用方法
- 使用 add 添加任务
t add "Make peace between cylons and humans"
- 使用 “+” 关联任务和项目
t add "Make peace between cylons and humans +国家基金"
- 使用 “@” 标注 您将在什么背景下(在哪里、用什么来)完成一项任务
t add "Make peace between cylons and humans @office"
- 可以根据需要多次使用 “@” 和 “+” 表示场景和项目
t add "Make peace between cylons and humans @office +国家基金 "
- 使用 “list”/ “ls” 查看 所有的任务
t list
/t ls
- 通过项目名称查看某一项目的所有任务
t ls +国家基金
- 也可以通过关键字查看相关的任务
t ls cylon
- 还可以通过多个关键字过滤任务
t ls @office +project
- 使用 “pri” 操作确定任务的优先级
t pri 3 A
这样每种优先级都会由不同的颜色显示 - 只显示设置了优先级的任务
t lsp
- 使用 “depri” 取消任务的优先级
t depri 2
- 使用 “do” 命令将任务标记为完成
t do 1
基本格式
- todo.txt 文本文件中每行表示一个任务
- 通过符号((), +, @, :, 空格)划分关键信息
- 不同信息的输入需要如图所示的特定顺序,可选内容可以空缺
待办事项(todo.txt)
(A) 2023-01-01 email to professor @email
(A):
如果要声明优先级,则应出现在行首。以括号中的大写字母表示2023-01-01
可以选择添加创建日期YYYY-MM-DD,应出现于除优先级外的第一个位置- 使用@引导内容标签,+引导项目标签
完成事项(done.txt)
x 2023-01-10 2023-01-01 first coursework @cw
x
: 以小写字母 x 加空格开头的任务标记已完成2023-01-10
: 完成日期位于 x 后,以空格分隔
附加元数据(可选)
使用 key:value 的格式定义附加元数据并放于句尾,例如:
- due:2023-02-01 设置截止时间-
- pri:A 再完成事项中保留原始优先级
参考文献:
todo.txt
scateu blog
常用命令:
列出代办事项 todo.sh ls
添加代办事项 todo.sh add "THING @context"
标记为完成todo.sh do ITEM#[, ITEM#, ITEM#, ...]
将完成事项移动到 done.txt 文件 todo.sh archive
删除代办事项 todo.sh rm ITEM# [TERM]
修改任务内容 todo.sh replace ITEM# "UPDATED TODO"
修改任务优先级 todo.sh pri ITEM# PRIORITY
手机端同步
dropbox
- 手机端:
todotxt for android
- 电脑端:
alias t='~/Dropbox/todo/todo -d ~/Dropbox/todo/todo.cfg'
webdav
- 配置 webdav 服务,详见 配置webdav服务
- 下载安装
simpletask.apk
- 打开
simpletask.apk
,输入http://ip:port/todo/
,输入用户名
和密码
挂载服务器目录到本地
使用sshfs挂载远程linux文件系统或目录
sshfs liupei@152.136.140.85:/sharedav/todo tmp/
然后像操作本地文件一样操作远程文件。
reference
crontab
crontab 定时同步(每隔五分钟)
*/5 * * * * /home/alex/bin/backup.todo.sh
对应的 todo.sh
脚本文件
rsync -azP /home/alex/bin/todo tx:sharedav/