I’m an old hand at the command line and have a hard time adopting new tools. Most of the time, a shell and Emacs is all what I need in my daily job. This was true when I worked as a medical statistician, and it is still the case for bioinformatics stuff. I believe it follows from a form of respect for digital minimalism, hardware constraints (I always worked on small laptops with less than 16 Mb RAM), and daily tasks that are primarily text-based and that can be chained together, which is at the heart of the Unix philospohy. I learned Bash (and later Zsh) and Emacs twenty years ago now, and I suppose habit explains the rest. The only thing that really changed along the way in my daily workflow is the use checkers and linters for all “prog-mode” languages in Emacs.
Most of the time, I’m happy with GNU core utilities, sed and awk, make, and shell scripts. There are many tutorials or lists of handy tools for your preferred terminal, but for the record here is what I’ve settled on in the last few years:
Again, there are probably many other great tools, including those I’ve once installed on my Macbook and forgot about afterwards or that I don’t use so much. The above utilities are part of the commands I use almost every day in Zsh.
Regarding Emacs, there are a few packages that I could not live without. They are all bundled with Doom Emacs, of course, but these are the ones that come to my mind when I think of what I used the most in Emacs, apart from Org, ESS, markdown-mode and mu4e. This includes ivy-bibtex (to manage my bibliographic entries and reading notes — and yes, I now prefer Ivy to Helm), git-gutter (magit does not count, right?), lsp-mode (mainly for Python, C and Rust) and sly as a replacement to Slime for Lisp stuff.
♪ Tom Waits • Asylum Years