Hacker News new | ask | show | jobs
by pmoriarty 3220 days ago
I've used vim, and before that other vim clones, for well over 20 years. I felt the same about emacs' pre-evil vi emulators (like viper). I tried a couple of them, but kept going back to vim until evil came along. With evil, emacs editing is about as close to vim as possible, though it still has its not a perfect vim emulator (it lacks emulation of all of vim's ex commands, for instance, vim's help system, and vim's regexes).

Vim is also just plain better at certain things -- for instance, xptemplate (a plugin for vim) is about a trillion times better than yasnippet (which is embarrassingly primitive by comparison). In my experience, vim is much faster at working with large files. Also, some things that drew me to emacs (such as shell/terminal integration) turned out to be disappointingly ineffective and too convoluted for practical use (for my setup).

That said, I still wound up switching from vim to emacs, and don't regret the decision, because emacs has an elisp ecosystem that's way better than anything I can get in vim, and because all in all emacs can do more things than vim, as it can integrate just about anything (at least in principle). It did take a lot of time and effort to make the switch, though, despite evil. The problem is that for many/most modes, the default keybindings are emacs keybindings, not vim keybindings. So I've had to rebind a ton of keys to make emacs useful (and still have way more keys to rebind if I wanted full functionality). I've heard that Spacemacs makes one need less such rebinding, as it has sane defaults for vim users, but I'm just not ready to make the jump to a wholesale new way of doing things now that I've invested so much time in configuring emacs the way I want (though if I had to start from scratch, I'd give Spacemacs a go).

In the end, I enjoy being fluent with two of the most powerful editors on the planet (though I admit I'd be lost in emacs without evil and all my keybindings). If there's something one editor can't do, or can't do well, I can just use the other. I see a really bright future for both editors, with things like neovim in the vim world and Scheme integration for emacs. Both editors are moving targets and developments in one constantly inspire developments in the other.

1 comments

The skeleton dsl[0] in emacs is quite nice for snippets, but I've never really used snippets all that much.

[0]: here's my config for generating some useful common-lisp forms: https://github.com/fiddlerwoaroof/dotfiles/blob/master/emacs... and here's where I use it with helm: https://github.com/fiddlerwoaroof/dotfiles/blob/71500d002106...