How can I maintain context while taking real-time notes in Org Mode?


I use Org Mode for taking notes in my Uni classes, and I often make heavy use of plain lists since they allow me to very easily add details to prior entries without having to think about the structure, as would be necessary with headlines. As the professor talks, I write notes, and then as they expand on the idea, I create nested bullet points under the note. The idea is that after class, I can go back and turn my plain lists into structured headlines. However, a problem that I have been having during lectures is that I quickly end up with lists indented 5 or 6 times, and I have trouble deciding when to dedent my list because I can’t remember the hierarchy of my previous notes. Other than simply changing the way I take notes, which I am open to hearing thoughts on, one way to address this issue is to display the plain list hierarchy at the top of the screen as I type, so that I can determine whether my new bullet point is an extension of the last point, a sibling of it or if it should be dedented even further. VS Code recently added a feature called “sticky scroll” that keeps class and function declarations fixed at the top of the screen while scrolling within them. This allows you to always know the context that you are in when scrolling through long blocks of code. Here is a demo of the sticky scroll in action. Is there any way that I could achieve something like this in Org Mode, but showing the parents of the current list item—or is there a better way that I can take notes during class that would require less mental overhead without this feature?

Another thing to note is that because I’m using a regular laptop screen (not a big monitor) in class, it would be nice if I could avoid horizontal window splits since horizontal space is really nice to have while writing.


Not exactly what you want like sticky scroll, that looks cool btw!

What I would do here is instead of just using unordered lists I’d create headlines whenever there is a subheader / another sub section.

Then make use of the org-toggle-narrow-to-subtree function that narrows your screen to a specific heading.

Once the prof moves on to the next heading, you create a new heading and narrow again so you only have the relevant parts.

With org-up-element you can quickly navigate through your headings and jump up headings. Also make use of folding so you can “close” a chapter when you move on to a different section.

Never actually used org in uni, but that’s how I’d structure it

Did you have a look at which-function-mode? It works quite well with Doom Emacs and Org Mode.

I considered that idea, but the only issue is that it’s not always possible to know what will be a “topic” beforehand; whether the prof chooses to elaborate more on a certain idea or not is not always tellable from the slides. One thing that could work is to have a hook that transforms list items to headlines when they have child list items (after indenting a list item underneath). However, this would likely require a bit of ELisp to work.

Thanks for the feedback!

Hmm, I looked at which-function-mode and I didn’t really see how it would help with my issue; could you please elaborate?

Maybe I did not understand the question.

What I thought you could do:

  • Use headlines to structure your document.
  • The current headline pops up in the modeline, if you use good old which-function-mode. This seems like the same feature as the sticky scroll feature recently added to vscode.