In the past, most of my code was written in my own image-based languages (I am more of a language/environment researcher than anything else), the editing has been constrained to a few lines of text using my own stuff. I did not need sophisticated search/replace because I could just change the names of symbols and bingo - all the code (and source) would just reflect that. So my homemade editors were downright primitive, with a handful of commands. It was just not much of an issue.
The past decade I've mostly worked in Common Lisp, which lacks such niceties (to be fair, everything on this planet lacks such niceties). As a Lisper I was also forced into Emacs, kicking and screaming. There is really not much choice. Without Emacs, the Common Lisp experience suffers.
Emacs is great if you like that sort of thing. But then you are programming in Common Lisp, but your editor is a separate mountain of stuff that dwarfs it, with tens of thousands of commands (and some of them are essential). And yes, they are mostly in Lisp, but not Common Lisp. Emacs Lisp is sufficiently different that I will just completely ignore it.
I became a shitty Emacs user, with perhaps a dozen commands at my disposal. Sure, there is a way to transpose letters, but screw it - I will just use the arrow keys and back up and retype the two letters. I knew how to do it once when I had to transpose a bunch, but it is just not worth looking up.
So yes, I can use Emacs fairly peacefully most of the time. At least you can just type and edit, and it does not get in the way once you know 'C-x C-s' and 'C-x C-c'.
As I've been scaling down and becoming more minimalistic, I use a terminal screen more and more. In fact I've written an entire game (SpellBinding) for the Gemini environment -- entirely on the server via SSH and Emacs in a terminal window. The experience has been very pleasant (except for tilde.team machine becoming overrun by some bozo and having to move to tilde.cafe).
Developing over SSH completely forces me to be command-line only. Emacs on the command line is indistinguishable from my self-hosted graphical Emacs.
Since I've been doing stuff in C, I don't need Emacs. I am not really attached to it - I was only using it because Lisp needs it, right?
Vim?
I've seen people really fluent in Vim -- with pages of perfectly formatted code flying out faster than I can read. They edit, compile, debug, and edit some more, and it seems that everything is a couple of keystrokes away. I don't know how they do it. I feel like a lumbering fool.
I've been trying to use Vim for a while. I love the idea of vim. But in practice, I can never get to the point where I can just edit without looking shit up. I can almost do it, and I've spent the last week working on a C project (also via SSH) in vim, banging my head against the wall quite often. I am determined to get past the hump this time.
But I am writing this in Emacs. Why? Sometimes I just don't have the strength for this. This is a text file, and to get vim to wrap visually just seems too hard. so I :q!'ed and went into Emacs. I just can't today.
I don't know what happened to my setup on tilde.cafe, but Emacs is acting up for text files. I backed up a couple of characters, and the cursor skipped way back and inserted junk. My whole file looked like crap. It was kind of repeatable, so I must be in some funky mode with parentheses interfering or some bullshit like that.
I tried vim, and as before gave up in about 30 seconds.
I finished in nano, but not without cursing a few times - C-k deletes the entire line, not to the rest of the line like Emacs. Good enough because it actually shows the simple command mappings - especially for undo. Gah
When I started out, I figured that in a few years text editing would not be an issue.
Some days I just wonder why I am still torturing myself this way.