For context, this is for a combination of C and Python coding on a Linux machine.
Terminal windows is what most of my windows are, but typically I'll also have a browser window for looking at documentation and interacting with the issue tracking system. If it's a personal project, I may have an emacs org-mode window for managing my tasks there.
I regularly fullscreen to different windows when I want more room or to focus on them.
just stick with emacs defaults, or if you already know vim use doom or evil mode.
emacs' modes give you syntax highlighting, formatting, code completion, a repl, and more. I do a lot of python work (not too much C), and still prefer emacs+python over vscode, idle, others.
* https://blog.sanctum.geek.nz/series/unix-as-ide/
Personally, I use gvim for all my text editing needs and use a normal terminal (i.e. no tmux, i3, etc). There's not much to share, unless you are interested in my vimrc, aliases, etc: https://github.com/learnbyexample/scripting_course
Recently I started using NeoVide to run NeoVim in a graphical frontend that otherwise still looks almost identical. I'm not sure whether I'll keep using it long-term, but it seems even snappier than before. I guess terminal output just can't quite compete in terms of latency.
Intellij for Java, because of all the extra crap associated with Java.
To first order if I get a fresh machine or VM, I can get a development environment that I am fairly comfortable with with by running:
sudo apt install nvim tmux python3 python3-pip
On the past I've tried similar setups to no avail, but what changed this time was that I completely threw out the "religious" ideal of "evil-mouse" and turned on mouse support on both tmux and nvim and it's awesome!
Everything that I use often enough I made a keybinding for it but I'm perfectly happy selecting text or scrolling with the mouse on vim/tmux.
I've been using this for a while on personal Zig projects thought, for professional stuff that I just need to finish it, Jetbrains rules!