在 Linux 命令行下進行時間管理
關於如何在命令行下進行 時間管理 (GTD)有很多討論。不知有多少文章在講使用 ls 晦澀的選項、配合 Sed 和 Awk 的一些神奇的正則表達式,以及用 Perl 解析一大堆的文本。但這些都不是問題的重點。
本文章是關於「如何完成」,在我們不需要圖形桌面、網路瀏覽器或網路連接情況下,用命令行操作能實際完成事務的跟蹤。為了達到這一點,我們將介紹四種跟蹤待辦事項的方式:純文件文件、Todo.txt、TaskWarrior 和 Org 模式。
簡單純文本
![純文本](/data/attachment/album/201812/11/213638wwbr4qhhi0tkej2o.png "plaintext")
我喜歡用 Vim,其實你也可以用 Nano。
最直接管理你的待辦事項的方式就是用純文本文件來編輯。只需要打開一個空文件,每一行添加一個任務。當任務完成後,刪除這一行。簡單有效,無論你用它做什麼都沒關係。不過這個方法也有兩個缺點,一但你刪除一行並保存了文件,它就是永遠消失了。如果你想知道本周或者上周都做了哪些事情,就成了問題。使用簡單文本文件很方便卻也容易導致混亂。
Todo.txt: 純文件的升級版
![todo.txt 截屏](/data/attachment/album/201812/11/213639ys6k5btpt5pbz2dd.png "todo.txt screen")
整潔,有條理,易用
這就是我們要說的 Todo.txt 文件格式和應用程序。安裝很簡單,可從 GitHub 下載最新的版本解壓後並執行命令 sudo make install
。
![安裝 todo.txt](/data/attachment/album/201812/11/213640pfl7e5tqqe8oq85q.png "Installing todo.txt")
也可以從 Git 克隆一個。
Todo.txt 可以很容易的增加新任務,並能顯示任務列表和已完成任務的標記:
命令 | 說明 |
---|---|
todo.sh add "某任務" |
增加 「某任務」 到你的待辦列表 |
todo.sh ls |
顯示所有的任務 |
todo.sh ls due:2018-02-15 |
顯示2018-02-15之前的所有任務 |
todo.sh do 3 |
標記任務3 為已完成任務 |
這個清單實際上仍然是純文本,你可以用你喜歡的編輯器遵循正確的格式編輯它。
該應用程序同時也內置了一個強大的幫助系統。
![在 todo.txt 中語法高亮](/data/attachment/album/201812/11/213640w87f77wfhx71k64z.png "Syntax highlighting in todo.txt")
你可以使用語法高亮的功能
此外,還有許多附加組件可供選擇,以及編寫自己的附件組件規範。甚至有瀏覽器組件、移動設備應用程序和桌面應用程序支持 Todo.txt 的格式。
![GNOME extensions in todo.txt](/data/attachment/album/201812/11/213642ou939ubmp3p7ijfi.png "GNOME extensions in todo.txt")
GNOME的擴展組件
Todo.txt 最大的缺點是缺少自動或內置的同步機制。大多數(不是全部)的瀏覽器擴展程序和移動應用程序需要用 Dropbox 實現桌面系統和應用程序直接的數據同步。如果你想內置同步機制,我們有……
Taskwarrior: 現在我們用 Python 做事了
花哨嗎?
Taskwarrior 是一個與 Todo.txt 有許多相同功能的 Python 工具。但不同的是它的數據保存在資料庫里並具有內置的數據同步功能。它還可以跟蹤即將要做的任務,可以提醒某個任務持續了多久,可以提醒你一些重要的事情應該馬上去做。
看起來不錯
安裝 Taskwarrior 可以通過通過發行版自帶的包管理器,或通過 Python 命令 pip
安裝,或者用源碼編譯。用法也和 Todo.txt 的命令完全一樣:
命令 | 說明 |
---|---|
task add "某任務" |
增加 「某任務」 到任務清單 |
task list |
列出所有任務 |
task list due :today |
列出截止今天的任務 |
task do 3 |
標記編號是3的任務為完成狀態 |
Taskwarrior 還有漂亮的文本用戶界面。
![Taskwarrior in Vit](/data/attachment/album/201812/11/213646yrb38uszeo0r9flz.png "Taskwarrior in Vit")
我喜歡 Vit, 它的設計靈感來自 Vim
不同於 Todo.txt,Taskwarrior 可以和本地或遠程伺服器同步信息。如果你希望運行自己的同步伺服器可以使用名為 taskd
的非常基本的伺服器,如果不使用自己的伺服器也有好幾個可用伺服器。
Taskwarriot 還擁有一個蓬勃發展的插件和擴展生態系統,以及移動和桌面系統的應用。
![GNOME in Taskwarrior ](/data/attachment/album/201812/11/213652dlq5alolp4aephug.png "Taskwarrior on GNOME")
在 GNOME 下的 Taskwarrior 看起來還是很漂亮的。
Taskwarrior 有一個唯一的缺點,你是不能直接修改待辦任務的,這和其他的工具不一樣。你只能把任務清單按照格式導出,然後修改導出文件後,重新再導入,這樣相對於編輯器直接編輯任務還是挺麻煩的。
誰能給我們帶來最大的希望呢……
Emacs Org 模式:牛X的任務收割機
![Org-mode](/data/attachment/album/201812/11/213655poh6xdh3e33ooe9v.png "Org-mode")
Emacs 啥都有
Emacs Org 模式 是目前為止最強大、最靈活的開源待辦事項管理器。它支持多文件、使用純文本、高度可定製、自動識別日期、截止日期和任務計劃。相對於我們這裡介紹的其他工具,它的配置也更複雜一些。但是一旦配置好,它可以比其他工具完成更多功能。如果你是熟悉或者是 Bullet Journals 的粉絲,Org 模式可能是在桌面程序里最像Bullet Journals 的了。
Emacs 能運行,Org 模式就能運行,一些移動應用程序可以和它很好交互。但是不幸的是,目前沒有桌面程序或瀏覽器插件支持 Org 模式。儘管如此,Org 模式仍然是跟蹤待辦事項最好的應用程序之一,因為它確實很強大。
選擇適合自己的工具
最後,這些程序目的是幫助你跟蹤待辦事項,並確保不會忘記做某個事情。這些程序的基礎功能都大同小異,那一款適合你取決於多種因素。有的人需要自帶同步功能,有的人需要一個移動客戶端,有的人要必須支持插件。不管你選擇什麼,請記住程序本身不會讓你更有調理,但是可以幫助你。
via: https://opensource.com/article/18/2/getting-to-done-agile-linux-command-line
作者:[Kevin Sonney](https://opensource.com/users/ksonney "Kevin Sonney") 譯者:guevaraya 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive