@wilw emacs. It does all of that pretty much natively. I just move my .emacs (.vimrc equivalent) to the new machine and run a single command in emacs. My entire development environment is pretty much set up at that point. Maybe I'll compile emacs from source if the one in the package manager is too old.
@wilw Its best to start small though. I'd suggest going through the built in tutorial and learning the basics (Ctrl+h then t.) After that, skimming through the manual (Ctrl+h then r) for some topics that interest you and then trying to apply them to your workflow would be best. Maybe then reading the elisp intro (alt+: then type (info "eintr") and hit enter) to get an idea of the extension language, elisp.
@splatt9990 Thank you, I'll definitely give that a go - hopefully this weekend! Thanks for the getting-started advice, and agree best to start small :)
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.