🕹ī¸ Do Something Great! 😄

Tag: taskpaper

  • An update to managing my tasks in plaintext using the Taskpaper format

    An update to managing my tasks in plaintext using the Taskpaper format

    I’ve talked about my set up for lists a couple of times, but it’s been awhile so I believe it is time for an update. For those that don’t remember, I keep my to do lists in plain text files and store them in a Dropbox folder. I use a specific format for these to do files called taskpaper.

    Taskpaper format primer

    The taskpaper format is pretty simple. Tasks are lines that start with a hyphen:

    - task 1
    - task 2
    - task 3

    Tasks can be organized by projects. A project is a line of text that ends with a colon:

    Project 1:
    - task 1
    - task 2
    - task 3

    Finally, context can be added to an item by prefixing the context with the ampersand:

    Project 1:
    - task 1 @due(2018-12-25) @home
    - task 2 @phone
    - task 3 @errands

    My to do files

    I have two main to do files: daily.taskpaper and today.taskpaper. The daily.taskpaper has a list of tasks that need to be completed every day or almost every day. This list gets reset every morning. The today.taskpaper file is my main list of tasks that need to be completed at some time.

    In addition to these two files, I also keep a workdaily.taskpaper and worktoday.taskpaper. These two files have the same functions as the previous two, except them are for work.

    Software used

    To manage my to do lists I use 3 pieces of software: Drafts for iOS & Editorial on my iPhone and vim on my various desktops and laptops.

    Drafts for iOS (Drafts 5 is $20 a year, Drafts 4 is $5)

    It’s hard to explain what Drafts is. On a first look, you may say it’s a notes app, but it does far more than just take notes. Drafts is my first stop for data entry. What Drafts does is allow you to put together workflows that can manipulate your text in various ways. I have an action that takes whatever I entered and prepends that information to the designated taskpaper file. This is what I use to quickly enter tasks on the fly.

    Unfortunately, Drafts 5 is now a $20 year subscription. I haven’t upgraded from Drafts 4 yet, with me having a tough time justifying $20 a year. Drafts 4 Legacy is still available, although I believe I could write a shortcut in the Shortcuts app to add items to my to do list.

    Editorial ($5)

    Editorialis a programmable text processor that just so happens to have a taskpaper mode. When a .taskpaper file is opened, each task as a check box and you can drag and drop tasks to move them. There are two workflows that I have added to Editorial for use with taskpaper files. One archives @done tasks and puts them at the bottom of the file. The other lets me focus on tasks with a particular tag, such as @today.

    A free text editor for iOS is Pretext. It won’t be as easy as Editorial, but it will work.

    VIM for the win!

    This solution won’t work for most people, but it works for me. VIM is a command line text editor that can be extended with various scripts. If you want to use a mouse, then the Atom Editor along with the Tasks plugin works pretty well.

    For VIM I have two addons installed, vim-taskpaper and Autosave. Vim-taskpaper adds several keyboard commands to make it easy to complete and archive tasks. The Autosave addon saves the .taskpaper file automatically after changes. Since I use several different machines, there are times when I forget to save and quit, which means I could lose information.

    In practice

    I start my day be resetting my two daily lists, and work my way through completing the tasks that need to be done each day.

    In the today.taskpaper file I will go through and mark items to work on that day with @today. I’ll also check any @due dates to see what is coming up or what is due and mark them with @today so I can get them completed.

    I follow the Getting Things Done philosophy in my lists, using the projects in my today.taskpaper as contexts. This means I have the following projects in my today.taskpaper file: Errands, Computer, Home, Phone, and Someday.

    Under the projects I have the tasks to be completed in each context.

    Errands:
    - Pick up Ho Hos @today
    
    Phone:
    - Call Hostess and tell them how awesome Ho Hos are 
    
    Computer:
    - Tweet about Ho Hos
    - Write a blog post about the wonders of Ho Hos

    You don’t need special software to manage your lists, you only need something that can read & write plain text files.

  • Fixing my .taskpaper reset alias for bash

    There was a little problem with my alias to reset a .taskpaper list by removing all of the @dones. It didn’t remove any spaces before the @done, so each line would gain a space every day. This fixes it:

    alias rst="sed -i '' 's/ *@done\(.*\)//g'"
    

    Now it removes one or more spaces that could be before @done.

  • Working with Taskpaper files in vim

    I’ve been experimenting with Taskpaper for lists over the last couple of weeks, and really like the flexibility. All of my lists are stored as text files in Dropbox, which makes it easy to use/update lists from anything or anywhere. On my iPhone I use Drafts to quickly add to the task lists and Editorial to work with the tasks.

    On the desktop and laptop, I’ve settled upon using vim. Davidoc/taskpaper.vim gives me all sorts of neat ways of dealing with .taskpaper files, and has been working pretty well so far.

  • Resetting a daily taskpaper list

    I have a couple daily taskpaper lists that by the end of the have an @done on each line and I need to reset it for the next day. Instead of trying to do a search and replace everyday, I added a bash alias to .bash_profile (or .bashrc):

    alias rst="sed -i '' 's/@done\(.*\)//g'"
    

    The extra '' after the -i is because OS X’s sed requires an extension for backups. Set it to nothing and OS X won’t create backups.

  • Resetting a .taskpaper file

    I use a couple of .taskpaper files for checklists of things that need to be done every day. In it, after a task is completed the task gets an @done tag added. But the next day I want to start fresh. I could do a find/replace, but sed at the command line works better:

    alias rst="sed -i 's/@done\(.*\)//'"
    

    Adding the above alias to my ~/.bash_profile adds the ability to reset a taskpaper file with a simple rst FILE.taskpaper. Under OS X, the -i parameter requires an extension for a backup file. You can simply have ” to set it to nothing and then a back up file won’t be created.