I am a bit of an Emacs fan.
Actually no that's not correct. The implication there is I use it based on something other than reason.
The default interface on Emacs is terrible. Vi like interfaces are much better particularly if you are on a laptop keyboard or your hands are tired from a long day of coding.
Vim has a relaxing to use interface that scales with the speed of you brain at that moment in time. It's not without quirks and may not be totally optimal but it is on that road. Emacs has Evil a vim interface emulator.
Emacs has features that traditional Vim does not. Image support and Org mode. It may not seem enough but when you have Evil the advantages of Vim over Emacs are marginal at best.
Sure, Emacs is also hard to set up. It can be a rite of passage, a learning experience or a time sink depending on you point of view. Thankfully Doom Emacs exists if you are in the later group.
Doom Emacs provides you with almost everything you want set up in an efficient way, it's great. I can't imagine myself going back to bare Emacs.
The Emacs git plug in, available by default that in Doom Emacs that covers all you need. It great great example of providing you what you need. After using some GUI git wrappers and eventually deciding to just use the command line for git. Magit managed to change my mind.
After a small learning curve you are doing common git operations use just a few key presses. Importantly without breaking focus or context switching.
Yep everyone is using it. I used it heavily for a while and it has feature like image support and vim emulation. It's currently the editor with the highest chance of making me leave Emacs.
It also popularised the idea of language servers, a boom for less common editors. A language server answer all the hard questions a programming language editor has to answer saving the creators of the editor having to do so.
It massively levelled the playing field and I would not be using Emacs with out. A heartfelt thank you to VS Code for pushing this.
I do find VS Code a little frustrating to use. I don't quite settle into the keyboard for a evening of coding or writing when using it. Probably me and years of using Vi and Emacs.
My current main use for VS Code is debugging. The debugger is not great but it is nice compared to most of Linux debugging set ups. I have yet to get into debugging in Emacs, it doesn't look fun. Maybe I don't want to tackle that learning curve just yet.
VS Code is also very quick to load showing they do care about the little things.
mmm, this was meant to be about Magit
Editors seem to be converging on features for the type of coding I do. It seems unlikely I will get increased productivity from them for a little while. AI may eventually help but that will likely end up in the LSP servers so not require an editor change.
Picking something that doesn't distract and lets you focus is the essential component here. An editor that lets you get in the flow is essential.
I guess I don't code in C# or Java where the choice of editor may matter more.