Coming to the end of this series, I'd like to mention a tool that you can use in the terminal, but isn't directly related to using a terminal. It's a tool to keep you organized and on-task right in the terminal without having to switch to a browser or external app. It's a powerful ToDo and Task management application called TaskWarrior.
After installing TaskWarrior you interact with it with the
task command. You can add a new task using
$ task add proj:command-line Install bashmarks Created task 1. The project 'command-line' has changed. Project 'command-line' is 0% complete (1 of 1 tasks remaining). $ task [task next] ID Proj Age Urg Description 1 command-line 1s 1 Install Bashmarks 1 task
You can assign tasks to projects by using
project:<name of project> which can be shortened to just
proj:<name of project>. You can also add other flags like Priority (H, M, or L), or a due date. You can add generic tags by using +
task 1 modify proj:command-line +important
When you're ready to start working on a task you can use
task <ID> start. This will let you track time spent on tasks for later reporting, and also serves as a reminder for what you're doing when you look at your lists of tasks.
TaskWarrior is quite powerful for tracking tasks, and even more so in it's reporting capabilities. You can view graphical (yes, even in the command-line) burndown charts or graphical reports of task history using
ghistory. You can filter and display on project, tag, date, or a variety of other things. You can even set up a server to synchronize TaskWarrior among multiple machines.
I would highly recommend checking out the variety of tutorials hosted on TaskWarrior's website. It's in active development and quite useful for command-line geeks.
This ends my 5 part series on upgrading your command-line. If you missed any of the previous parts, here's a rundown of what was covered:
- Part 1 covered Bashmarks which are bookmarks for bash.
- Part 2 improved the
cd ..command to allow additional dots.
- Part 3 introduced tmux for multi-tasking with virtual terminals
- Part 4 improves the information you view on the command-line by powering up your prompt to include more useful information like git branches.
- Part 5 (this page) discussed TaskWarrior for creating and managing task lists to stay organized in your terminal.
Look forward to a future series where I'll talk about various ways of improving
vim to make it your go-to text editor (really!)