Orgzly: 手机安卓使用 org mode 做任务管理
前言
我总是在自我的懒惰和散漫中尝试寻找秩序感,希望能用上 GTD(Getting Things Done) ,列出待办清单,重新掌控自己的生活。我现在已经是重度 Org Mode 的使用者,自然便想着用它来做任务管理。事实上更方便的操作自然是移动端,即手机上操作,方便快捷,随时记录。
官方给出了相关的工具,可以用来在移动端操作。之前用的 iPhone, 其平台支持的是 OrgMobile, 说实话,并不太好用,功能少,界面丑,交互性差。后来换了安卓机,下了个 Orgzly 来试试,发现效果出奇的好,于是写下这篇博客。
Orgzly 的官网:Orgzly | Notes & To-Do Lists.
准备
Orgzly 目前只支持本地文件和 WebDav, 所以需要自己准备一个服务器。目前从阿里云迁移到京东云, WebDav 的搭建我会记录到另一篇博文上。
使用
视图
就是 Agenda, 用来展示特定的代办事项,它自带了四个:
- Agenda: 一周之内所有未完成的项目
- Next 3 days: 接下来三天内未完成的项目
- Scheduled: 今天之内未完成的项目
- To Do: 所有未完成的项目
它的真正名字叫搜索,可以快速找到相应的分类项目。可以点击侧边栏的“搜索”,会列出所有的视图,可以自定义。语法在官网上有详细的介绍。目前来说基本够用,后续需要再添加。
不足
目前用下来不足的地方有两个。
第一个是小组件没办法现实 Checkboxs, 需要打开主界面点开笔记去打钩。
第二个是 TODO 状态下不同的关键词(如 todo, doing, wait)都用了同一个颜色。这个功能在 Issues 里,17 年就开始提了,目前还没有动静……连接:STATE coloring · Issue #139 · orgzly/orgzly-android · GitHub.
PC 上的 Emacs
没有操作,正常 Org Mode 操作即可。
同步
目前我用的 Sftpgo 来搭建 WebDav, 开放一个用户 orgzly
, 给一个密码,设定它的根目录为 /root/orgzly
. 服务器以地址 127.0.0.1
、用户 root
为例。我的云上用了密钥的,省去密码输入的部分,比方说密钥是 ~/key.pem
.
手机端
在 Orgzly 的设置中打开“同步”,点击存储库就可以添加 WebDav 的地址了。可以设定自动同步,它会在某些特定的场合——比如新建笔记,进入或离开 App 的主界面——自动同步。我没有使用,每次需要在 PC 端操作时两端手动同步一下即可。
电脑端
通过 rsync 去同步。命令模板[1]:
rsync -avzP --delete -e 'ssh -p 22 -i ~/key.pem' src dst
为了自动话,定义两个 Elisp 函数,方便操作:
(setq
;; 设定服务器中 orgzly 文件夹所在的根目录
dust/orgzly-remote-dir "[email protected]:/root/"
;; 设定本地 orgzly 文件夹所在的根目录
dust/orgzly-local-dir (expand-file-name "~")
;; Rsync 同步命令,如果不想用 orgzly 这个名字,
;; 自行修改即可
dust/orgzly-sync-form "rsync -avzP --delete -e 'ssh -p 22 -i ~/key.pem' '%sorgzly' '%s'")
(defun dust/orgzly-pull ()
"Pulling items from WebDav"
(interactive)
(shell-command (format dust/orgzly-sync-form
dust/orgzly-remote-dir
dust/orgzly-local-dir)))
(defun dust/orgzly-push ()
"PUshing items to Webdav"
(interactive)
(shell-command (format dust/orgzly-sync-form
dust/orgzly-local-dir
dust/orgzly-remote-dir)))
每次电脑操作前先 dust/orgzly-pull
一下,操作完成后 dust/orgzly-push
就好了。