In college I used Emacs, because I had a romance with lisps and just really enjoyed extending stuff. Also used Sawfish as my window manager, etc. The modal thing in vi(m) was hard for me to wrap my head around and the bizarre config of vim seemed so inelegant.

But when I got a gig as a sysadmin running a few thousand servers w/ a slew of Unixes (Solaris, BSD, HP-UX, Linux) I finally bit the bullet and learned vi, because it was the only common denominator (oh, man and ksh88 because so many bash-es were so broken on those platforms).

Now I find modal editing very natural and productive and don't miss the keyboard gymnastics of emacs. I find I get pissed at every text editor that isn't vi. Outlook, this text box, etc.

I use IntelliJ (and do Python and Go in it) with vi binding for large long-lived projects and just vim/neovim in a terminal for scripts, short-lived stuff, and quick edits. The bindings in IntelliJ are good enough, although sometimes I forget and try to do things, like run a file through awk.

I play with using VSCode with vi bindings from time to time, but honestly just forget to use it much.

I have a smallish vim config with a handful of plugins, mostly for linting. I'm comfortable with it and haven't ever really found it lacking. And I don't feel the need to maintain a codebase for my config like I enjoyed doing in college. I guess I garden in my garden vs my config files and am not so focused on some kind of concept of purity. Heck, I think I have the default background on my mac.

> this text box, etc.

I always keep a GVIM window open so that I can type text there and then paste those into other places that are not vi.

It also helps that vi is a lot more stable than certain websites and is less likely to lose my text. It's nice to be able to just copy&paste without having to re-type the same text when browser crashes.

As always, the Emacs experience is better: https://github.com/zachcurry/emacs-anywhere

:)