Done Items

When the activity or thing that a todo item is about has been done, it is natural to eliminate the item from the todo list. But instead of deleting it permanently, you may prefer to keep a record of your accomplishments by marking the item as done. In Todo mode, this removes the done item from the todo list, so as not to clutter it up, and stores it elsewhere. Such stored items form a record or diary of things done. The Todo package provides two such stores: the “done items” section of a Todo category, described here, and done item archives (see Todo Archive Mode).


This command (todo-item-done) removes the todo item at point from the todo list, appends to the original header a header consisting of todo-done-string (by default ‘DONE ’) and the current date, and if todo-always-add-time-string is enabled, also the current time, and adds the resulting done item to the top of the done items section of the category. Invoked with a prefix argument, it also prompts you to enter a comment, which is appended to the end of the done item, prefixed with todo-comment-string (by default ‘COMMENT: ’).

A category’s done items section is located below the last todo (i.e., not done) item in the category. By default this section is hidden from view. There are two commands for viewing and hiding done items; since these are toggle commands, for convenience they also have a single key binding:

C v

Make the done items section of the current category visible if it is hidden, or hide it if it is visible (todo-toggle-view-done-items). If you always want to see the done items section on entering a category, enable the option todo-show-with-done; you can still use C v or v to hide (and unhide) it.


Toggle the standard category display in the current todo file, i.e., display only the done items section of each category in the file, or if this is visible, hide it again and display only the todo items section (todo-toggle-view-done-only).

Since done items are meant to be a record of your finished todo items, you cannot apply to them the same kinds of editing operations available to unfinished todo items. However, as explained in Editing Item Headers and Text and repeated below for convenience, you can edit or delete a done item’s comment, or retroactively add a comment. You can also relocate a done item, and you can revert its done status, making it an unfinished item again.

e c

Edit the current done item’s comment, if it has one; otherwise, prompt for and add a comment.

e d

Delete the current done item’s comment, if it has one.


Move the done item at point to the top of the done items section of another category (todo-move-item). This is useful in case, after having finished a todo item and relocated it to its category’s done items section, you create a category that is better suited to the content of the done item than its current category; in other words, you can retroactively recategorize the done item.


If you decide the done item at point is not done after all, this command “undoes” it, i.e., restores it to the todo list of its category, with the priority you choose for it (todo-item-undone). If the done item has a comment, you are asked whether to delete it from the restored item.