Since I use Emacs with my hledger data file, making improvements to how I use Emacs can return dividends for my hledger work. I recently made 5 additions that notably improved my Emacs experience.
Specifically, they are vertico-mode, marginalia-mode, dired-preview, consult-buffer, and completion-styles. I am new at these, so I won’t pretend to be able to explain them in great detail. And I may get some of the explanation wrong, since these are all new to me. However, I can say that there was just about zero learning curve in learning to work with them, and they are a joy to use.
Vertico-mode and marginalia-mode seem to go together, in that vertico-mode puts options in a vertical list rather than the Emacs default horizontal list. By listing items vertically, there is now space to put information next to each choice, which is what marginalia-mode does. For example, if you call up the command to switch buffers, in addition to seeing the buffer names, marginalia-mode tells you the size of the files and where they are saved.
Consult-buffer magically shows you the contents of a buffer before you even switch to it. Great feature to have when you are not sure which is the exact buffer you are looking for. In such cases, you can quickly look at the content of several buffers without having to switch to each one. Then when you find the buffer you were looking for, switch to it.
Finally, completion-styles is for those of us who might remember a word or two of an emacs command but not necessarily all of it. Or perhaps you remember part of it, but in the wrong order. Completion-styles matches what you have typed, even when you have a partial, out-of-order match.
Guiding me to all of the above was Protesilaos Stavrou, also known as Prot. I recently took advantage of his online training sessions, and they have been super helpful at improving my Emacs skills. If you are interested in something similar, check out Prot’s page: https://protesilaos.com/coach/. I don’t get any compensation for saying this. I’m just a satisfied student.