GTD and VimOutliner

Getting started

I use Vim and Vim Outliner to create and update my GTD lists. Vim outliner is a Vim plugin that changes Vim so it behaves like an outliner.

Install vim and vimoutliner

I'm not going to tell you how to install vim or vimoutliner, there are already many tutorials on the web on how to do that. The archive in which you downloaded vim outliner contains instructions about how to install vim outliner.

File format

Each vimoutliner file is a plain text file. Each line contains a headline, or text. My file consists of the following headlines. I included a sample file so you can start using this approach to GTD right now. Save the file as list.otl and open it using vim.

Each headline is followed by a list of things that should be in that list. Each section is used for different information. In the following sections I will explain each of the headlines.

Next Actions

The NEXT ACTIONS are the physical actions that you have to complete grouped by CONTEXT. I have a headline for each CONTEXT so I can open the context that I'm working in. The other contexts stay closed. This way you can better focus on the part that you want. For example:

    At home
        Wash the dishes
        Create bookshelf
        Buy wood for bookshelf


Agendas contain items that you need to do with another person. If you need to ask someone about some project, add an item under the headline of that person. The people on this list can be copied from the PEOPLE list when needed. For example:

    John Smith
        Ask about project X
    Jane Alperding
        Ask about project Y

Waiting For

WAITING FOR is the lists of things that you are waiting for. This could be an order that hasn't been delivered yet, or a response to an email that you send a few days ago. Use one line for each item that you waiting for. For example:

    Book order #122002
    Order #13455 from Company Y
    Email response from Jane

Project Plans

Project plans contains a list of project outcomes. A project outcome is a thing that needs to be written or done, to finish a project. The project outcomes can help you with generating next actions. Where a next action is a small step to be finished, a project outcome is the thing that will be completed when all the next actions are completed.

There can be many project outcomes for each project, so make a headlines for each project and list all the project outcomes below that.


List of oneline items containing a short name for the projects that you're working on. This lists should be reviewed weekly. Ask yourself the questions:

  • Am I still working on this?
    • No?
      • Remove the PROJECT from this list,
      • or move it the SOMEDAY/MAYBE list.
  • Are there actions that I have to do, but haven't noted yet?
    • Yes?
      • Add these to your NEXT ACTIONS list.


A list of all the people in your life. This could be your boss, your friends, all people that you interact with. This list can be used in the weekly review to find out if you still have to do something for someone, or maybe need something from a person. Add NEXT ACTIONS, PROJECTS, or WAITING FORs when needed.


A list of the different contexts in your life. This could be Home, Car, Train, Computer, At work, and of course many more. You should create a list that resembles your life. Not everyone has the same contexts. This list can help you focus on the contexts in which you work.


A list of projects that you want to do someday. This could be learning to play trumpet, or working on a garden. These items can help you focus on the things you want to do, but are not yet able to. Writing these down on this list will create more focus.

Daily Review

Helps you with reviewing the other lists. My DAILY REVIEW list is a checklist of things or actions that I should do every day. Make a simple note one this list so you won't forget. This list should be reviewed every day probably on the morning.

Weekly Review

The WEEKLY REVIEW list looks like the DAILY REVIEW list, but should contain the items that you should look at weekly. When you are doing a weekly review, you should use this list to guide your actions.


All the things that you want to research, research, and found when you did research. This list will grow, with useful information about all kinds of things. You could add the information that you got from an email or the url of a nice website that you found.

VimOutliner commands

Vim and Vim outliner contain commands that will help you with keeping your lists up-to-date. There are also a few commands that will help you focus on your current context.

Open / close folds

There are a few ways to open and close folds. Vim itself has a command for opening a fold (zo). To use this commands move to the fold that you want to open and type zo in normal mode. You can close a fold with zc.

To get a good overview of the sections use ,,1. This will close all the folds and will show all the headlines. You can now move to a section that you want to focus on and open it.

To open all the folds use ,,0. All the numbers in between will open folds to a certain level.

Creating new items

Creating new items in the lists can be done using normal vim commands. Remember a Vim outliner file is just a plain text file.

Use o to open a line. With this you can write a new entry below the line the cursor is currently on. Vim outliner is just Vim so it's possible to change text using the insert commands i, a, I, A and c.

Deleting items

To delete a line use dd. This will remove the line the cursor is currently on.

Creating todoitems

Sometimes it's useful to think of the list as kind of todo list. Vim outliner can make a todoitem from a line by pressing ,,cb. This will add a small checkbox at the front of the line.

Checking off todoitems

Now that you can make checkboxes it's useful to know how to check the item off. You do this be pressing ,,cx on the line with the checkbox. It will put a 'X' in the checkbox. Obviously this means the task is completed. If you think you're done with the text, you can remove the complete line instead. I'm not sure yet, what is the best way to keep items around.


Using Vim and Vim outliner to use GTD is very simple. Both do their job without getting in the way. Still Vim is not the easiest editor to start using.

If you already use Vim then you should give vim outliner a try. It will pleasantly surprise you. Getting Things Done is based on writing lists and these two tools help you keeping them up-to-date.

A big part of Getting Things Done is to stop worrying about stuff the needs to get done by putting it in a system. The next step is to stop worrying about your system.

Related articles

Sample fileformat

NEXT ACTIONS (list of next actions, grouped by context)
AGENDAS (list of items in connection to other people)
WAITING FOR (list of items that I'm waiting for)
PROJECT PLANS (list of project outcomes)
PROJECTS (list of projects)
PEOPLE (list of people)
CONTEXTS (list of contexts)
SOMEDAY/MAYBE (list of projects that could be done in the future)
DAILY REVIEW (review daily)
WEEKLY REVIEW (review weekly)
RESEARCH (list / text research)  



My name is Peter Stuifzand. You're reading my personal website.


Peter Stuifzand
Zwolle, The Netherlands