I never got into emacs/vi/vim. I suspect they aren't actually rubbish, but my exposure to both so far has been limited to lots of very aggressive sales pitches like "anything less than my particular way of using emacs doesn't even qualify as text editing" and "using arrow keys is sin, filthy unbeliever", both in person and online (HN has its fair share of this), and that's just such a huge turn-off, massively takes the fun out of it.
I've lightly forayed into vim and emacs before, but can't live without the built in language support
Me and Vim never clicked. Mind you that may also be because I've not found a good tutorial / practice thing yet, nothing that stuck or that pushed me to get the various commands into my muscle memory.
But I use Emacs for everything else. Emacs never changes how things are done. It can't do Java the way I'm used to doing it though. It took me a whole heap of work to get competency to a level I was actually productive with though, so I can appreciate why it's a tough sell. Worth it though IMO. Though I pity the person who has to pair program with me!
But I am curious:
On the Emacs side of things, none of the dozens of editors I've used that claim to emulate Emacs have done a good enough job to let me actually work. Right off the bat, most of them do not get C-U correct, and that's something any serious Emacs user will hit within a few seconds.
Do the 'vi' plugins generally do a good job, or are they just the same hollow key remappings that most editors consider "an Emacs mode"?
In intellij, shortcuts (commands using a modifier) can either be handled by the Vim plugin or by the IDE. You can't choose depending on the mode of vim. I mainly use Vim for the movements, so I don't feel very limited by the lack of "advanced features". However, what irks me is the way words are handled. For exemple, the IDE will be able to handle camelCase and go from one "word" to the next with ^->. Vim doesn't know that.
Another limiting factor is that many people use a bunch of vim plugins. As the vim-mode in IDEs isn't actually vim, those plugins can't be used.
I've never tried, but what looks interesting on paper is the neovim integration of VSCode. From what I understand it actually uses nvim, so that should be able to provide the full vim experience, including plugins.
Though comments under yesterday's post about scrollbars made me realize I might live in a :g/:v bubble :)
For the basic editing (probably not that basic, as I use quite advanced editing techniques like macros) I use vim shortcuts and for things like manipulation of windows/buffers/tabs I use editor specific shortcuts. Also for some unique features, like code refactoring in IntelliJ IDEs I use their shortcuts.
But "basic vim" functionality is still enough "to be dangerous" very fast after I start using an editor and I gradually learn the specifics. I never think twice whether I want to try some new editor. I just do it.
Indeed, I don't use vim proper (can't remember if I ever used it), but I heavily use all of the following (for different purposes) at the moment:
1. WebStorm for web stuff 2. CLion for Rust (it's different from WebStorm and has different shortcuts for various things) 3. Spacemacs for OCaml 4. VSCode for various things, mostly for beancount accounting 5. vim on remote machines - but there I don't use buffers and other more advanced things
I personally often have a JetBrains IDE open alongside VSCode, Sublime and vim because there are things each of them do better, or at the very least things I better know how to do in each. You don’t need to replace a program you like, you can just add to your menagerie.
Final unrelated note, all editor nerds should give Acme a spin. It’s a literal trip. I never got comfortable enough with it to be productive, but I could see it being amazing if you get your head around it.