I tried doing it this way. While it sounds nice, and apparently works for some people, my biggest problem was stuff getting buried hundreds of lines into the file. I couldn't trust it to remind me of anything beyond the few items at the top of the file. Another problem was having everything as a big blob of text mixed together, unless you take on some overhead when entering things (put them in the right place) or during the day (moving things around).
If this appeals to you, I'd recommend using a big html file with Javascript to query the things you want to see, using class names as tags. A good text editor will have snippet support, and you can just dump any new items at the top of the file as they come in. If you want to get fancy, you can write in markdown and convert to html on the fly.
I split my todo list into three files: today, this week, and later (backlog). Every Sunday, I move dated task reminders (and copy some recurring weekly reminders) from my later file to my “this week” file. Every day I move reminders from my “this week” file to my today file. Ideally my today file would be empty at the end of every day, but in reality I always have tasks that roll over to next day… or week.
This system helps me focus on my most immediate work and still have peace of mind that my system won’t lose the reminders in my later file.
I store my todo files in Dropbox so I can access them from multiple devices (including my phone) and get automated backup for free.
If this appeals to you, I'd recommend using a big html file with Javascript to query the things you want to see, using class names as tags. A good text editor will have snippet support, and you can just dump any new items at the top of the file as they come in. If you want to get fancy, you can write in markdown and convert to html on the fly.