Sometimes I wish I initially spent my time learning emacs. Vim has been great to me. I don't value programming workflows as much as I used to so I'm not going through that steep learning curve again
> Sometimes I wish I initially spent my time learning emacs. Vim has been great to me.
Try SpaceMacs, or even just Evil. I've found that Emacs (the text editor environment) and VIM (the language for interfacing with a text editor environment) skillsets are actually complimentary and together form a terrific text editor.
If spacemacs or evil seem too inauthentic or complicated, I suggest boon-mode. It's a very simple, modular, minimal modal editing package with verbs and motions.
And if you like modal editing but want to stick to a more emacs-centric interaction, there is God mode which I eventually found to be better than evil if you are working solely within emacs.
Conversely I feel I wasted my time learning emacs and moved to vim eventually. I also only religiously use a subset of vim functionality which is fulfilled by most of the vi equivalent editors. This turned into a massive advantage for me as I spent most of my career dotting around random Unix and Linux machines doing admin work. Vi derivative is always there and the muscle memory was ready to go.
One of the key things I found though is that I learned to compose tools outside of vi rather than rely on the editor functionality. This was applicable to much larger problem domains than just editing. The Unix philosophy of using lots of small well defined things to solve problems applies to editing text.
You may like Doom Emacs. It has really really good Vim keybindings. Some people like Spacemacs too, but I found it too bloated and too abstracted (hard to fix when it breaks).
I still find myself reaching for Vim when I want to just write a simple script. Emacs, VS Code, etc. can just be too much sometimes.
I had a pretty full featured vim setup (creaking under the weight of all those plugins) and then switched to spacemacs. You're exactly right that debugging was a pain sometimes, but once I started to figure out what everything was, I wanted to replicate everything I had in vim.
I realised that if I'd started minimal I would have reinvented so many of the spacemacs wheels, but done it worse.
Spacemacs could do with being slightly more user friendly. It gives you a lot of friendliness already, but to prevent people from being frightened off by emacs' formidable reputation it really needs to "work" out of the box. For me that would be one click install and a reasonable suite of IDE-like features for working with a given language pre-configured. That would include scripting to install the command line tools that they shell out to, e.g. ag or rg.
> I still find myself reaching for Vim when I want to just write a simple script. Emacs, VS Code, etc. can just be too much sometimes.
I used to do this too. What stopped me was that I often use emacs as a terminal multiplexer with vterm, and it becomes super difficult to control vim if you have evil-mode capturing those same inputs. In the end oh-my-zsh (more crappy bloat like spacemacs which I love to bits) has an alias called "e" which will open a file for editing in your current emacs.
(If only it worked through docker! Or maybe it does and I just don't understand TRAMP well enough yet.)
As far as I know, pure vanilla emacs from GNU comes with multiple vi emulations. I’ve been using viper for 20 years. It’s the only reason I use emacs at all. I had a co-worker many years ago who swore by emacs, but I found the key bindings completely counterintuitive having learned vi while getting my degree. Having made that discovery I was off to the races with emacs, and have never looked back.