That's a good list, thank you.
I don't really like tying everything back to Google (I'm from the older, tin-foil hat generation), so I've found Color note very useful. They're basically sticky-notes that can be set up as lists, to-do lists, or just running notes. The best part is that I can post them as widgets on my phone's home screen, so I'm constantly reminded, and I can access them to make additions before I forget. You can also set reminders for events that nag you in your status bar.
The trick to the list is to constantly maintain it, not try to make a list every time you go to the grocery store.
I use Colornote to maintain a grocery checklist in my phone. Any simple checklist app will work. Anything that's used enough to hit the low stock limit gets marked on the list. Then, I don't need to remember that I used the last of my chicken quarters and toffee bits six days ago.
For a more full-featured solution, Paprika has a menu planning and list generation function. You can go through and pick out everything you're going to cook that week, and it will auto-generate a list of everything that you need to buy. It has a pantry function that can keep track of what you already have in stock, too.
The killer bit about it is that it can parse most recipe web pages and add them to its internal database, so it eliminates all of that "My meemaw Wanda used to make these toffee chicken legs when I was a child. I still remember the wonderful smell of blah blah blah..." crap that they put around the recipes these days. Not having to dig through a stack of three-ring binders trying to find a curry that I made two years ago is a big time saver.
I really like Colornote for lists and text notes for how flexible and easy it is. You can sync from your phone to your computer and it's very easy to read on the phone app.
https://www.colornote.com/feature-overview/
> Putting sticky notes
Use widgets to put sticky notes on your home screen. A sticky note will be always in your sight so that you never miss it.
> Setting a reminder
Set a time reminder on a note or pin notes to the status bar. These will help you get things done.
> Managing schedule with calendar
Manage your schedule by taking notes on the calendar. You will be reminded of a note on the date to which it was assigned.