6
votes

I have a list of TODO items, and I'm trying to have 2 TODO lists in the same file, but can't seem to end the first one.

FIRST LIST: TODAY
* TODO Item 1
  Description
* TODO Item 2
  Description


SECOND LIST: TOMORROW
* TODO Item 3
  Description
* TODO Item 4 
  Description

Unfortunately, SECOND LIST: TOMORROW is now part of the description of TODO Item 2. By this, I mean that when I hit shift-tab, I no longer see the text SECOND LIST: TOMORROW because it folds under TODO Item 2. What I see is..

FIRST LIST: TODAY
* TODO Item 1
* TODO Item 2
* TODO Item 3
* TODO Item 4 

While what I'd like to see is...

FIRST LIST: TODAY
* TODO Item 1
* TODO Item 2


SECOND LIST: TOMORROW
* TODO Item 3
* TODO Item 4 

How can I escape out of the description mode and start a new, independent list?

EDIT/UPDATE I added spaces in between the lists in response to comments. From here, 'A list ends whenever every item has ended, which means before any line less or equally indented than items at top level. It also ends before two blank lines'---From this, I suspect there must be a way to have more than one list in a .org file. However, in my example, I notice 2 blank lines is not ending the list, but continues on as if a description.

Is this a feature of it being somehow an agenda rather than a plain list? I know that the following enumerated /does/ end the list on the other hand:

FIRST LIST: TODAY
1. Item 1
   Description
2. Item 2
   Description


Second LIST: Tomorrow
1. Item 3
   Description
2. Item 4
   Description

I really don't mean any disrespect to you emacs wizards (who amaze me) in that I keep insisting on finding a way to do this, and I understand there's a lot of power to this tool I don't understand yet. But I would like to have 2 independent non-enumerated todo lists in one .org file, so I can quickly (for me) shuffle unfinished tasks from today to tomorrow without going into depth setting dependencies and due dates.

3
how org-mode would know the FIRST LIST ends unless you make a new list structurekindahero
Exactly, @kindahero, I'm looking for an end-list delimiter. Responses below tell me it is impossible, so I'm leaving this open until becomes possible, whether that's a minor mode, or a delimiter, or whatever.Mittenchops
I'd agree that org-mode needs an end-list delimiter of some kind - it would be useful in many situations where you want to insert a quick sublist, not just at the top level as in your example - it's easy enough to do for indented outlines, and I ran into trouble when converting indented outlines to org-mode for this reason. The best you can do at the moment is add something like * - to indicate returning to the previous level, though it's rather clunky. I imagine the code is all built around the current structure, but I haven't delved into it very much.Brian Burns

3 Answers

21
votes

Very simple, just make the two headers become list items themselves., like so:

* first todo list. 
** first item in list. 
** second item in list

* second todo list 
** first item and so on... 

This additionally gives you the ability to fold the lists.

9
votes

You cannot do so within a single file. Org treats all content under a headline as belonging to it until you reach another headline of the same level. There is no way to end a headline short of starting a new one.

This does have a few shortcomings in that you have to use blank headlines if you want a sub-heading and then to return to the parent level without any new headline. This means the only text that does not belong to a headline is the text before the first heading, which essentially is the equivalent of an abstract.

The two solutions I can think of would be

  1. Use a solution such as the one offered by daramarak

  2. Use 2 separate Org files then use the Agenda as a way of keeping track of the multiple TODOs in independent lists that can still be put together to see an overview.

8
votes

Plain lists start with '-' and they end at white-space lines:

First list
- Item 1
- Item 2

Second List
- Item 1
- Item 2

But TODO's can only be recognized in a headlines (starting with a *). I think this is a part of the org-mode design. You can quickly turn a list into headings by marking the lines and pressing C-c *. A similar but more light-weight feature to TODO's, "checkboxes", can however be used in plain lists for having a list of subtask.

List a
- [X] Item 1
- [ ] Item 2

List B
- [ ] Item 1
- [ ] Item 2

C-c C-c Toggles a list item. Also lists can be nested and show the satus of their children.

- [ ] List A
  - [ ] Item 1
  - [ ] Item 2
- [-] List B
  - [X] Item 1
  - [ ] Item 2

Another possibility is using inline tasks C-c C-x t they have a specific ending

List 1
*************** TODO Item 1
*************** END

*************** TODO Item 2
*************** END
List 2
*************** TODO Item 1
*************** END
*************** TODO Item 2
*************** END
*************** TODO 
*************** END

More discussion can be found here