Hacker News new | ask | show | jobs
by bob4444 3069 days ago
Being an Emacs enthusiast myself, it always surprises me how much more popular VIM is. Is this because VIM is taught more in schools? Maybe because VI/VIM is typically installed by default on Linux systems?
5 comments

Emacs has a reputation for being big and scary, and more effective if one knows Lisp (which is also scary).

Also, the feeling that one's keyboard ought to have 'meta' and 'super' keys.

It's tiny and ubiquitous. Even tiny VMs and embedded devices have Vim.
Despite this, in my experience, Emacs provides a more feature rich environment, comparable to an IDE, rather than only a text editor.
It’s not about features. Vim is meant to be custom tuned through plugins until it meets your needs, after which no other editor will satisfy you.
I hope you're not trying to explain the value and satisfaction of customization to an Emacs enthusiast!

The thing is an interpreter for Elisp, which the text editor is written and configured in. You can change the core functionality of the editor if you wanted, by writing some code in a buffer and pressing C-M-x. You can make it act exactly like vim if you wanted to. You can add line numbers on the side, better autocomplete for commands and searches, a git porcelain, new modes for different types of files. You can implement an IRC client, a browser, tetris, a file browser, or an email client; or you can just use the implementations that come included.

You can spend a lifetime configuring Emacs, and if you have attained the ultimate configuration, you'll look back at the end of your life and realize that it was worth the thousands of hours you put into it. But if you have not, don't worry: you'll be reborn into the cycle constant suffering-due-to-inferior-configuration until you figure it out.

> You can make it act exactly like vim if you wanted to

Thanks to Spacemacs, Emacs is already better Vim than Vim itself. I know what I'm talking about. I'm a die-hard vimmer.

The same can be said for Emacs with all the various packages and any elisp you write.
Is it? I run a mostly stock .vimrc and no editor will satisfy me.
Not everyone wants an IDE, though. Unix is my IDE, and Vim is just my text editor. I learned emacs first and left it for Vim.
This is fair. For someone that just wants to edit text in an efficient way and doesn't want to tweak/tailor their editor vanilla vim is a good choice.
I'm a huge user of Jetbrains IDEs and I feel like they make me a little dependent. What language do you mostly write in?
Many: in a typical week I might use C, Python, Go, Java, Scala, JavaScript, and shell.
I'll take nano and previously pico over vim
I’ve heard quite a few people complain that Emacs caused them RSIs. That’s why I stopped using it too. Vim is much easier on the hands in that regard.
One word - spacemacs.

It's emacs with vim bindings. You get all the editing goodness of vim with the extensibility of emacs.

Spacemacs has won the editors war.

The default modal keybindings are fantastic for editing text, once you start learning them it becomes addictive. Once you've learned most of them everything else feels annoyingly clunky.

I sometimes use IntelliJ and sublime but if I'm sshing around our network or editing random configs vim is the one that jumps to hand, and it's pretty much my default for everything now. Vim modes in those two IDEs are also pretty good.

EDIT: vimscript kind of sucks though, Emacs is way better on that front

The biggest game-changer for me in converting/sticking with emacs was finding out I can edit remote files with my local emacs via TRAMP (https://www.emacswiki.org/emacs/TrampMode). No more logging into remote machines and installing a sub-standard subset of my highly customized editor configuration.

And before you say it, yes I know you can edit remote files with vim too. But with emacs/TRAMP it's dead simple.

Emacs has terrible key bindings, it’s as simple as that. No one wants to press a chord of keys to do simple tasks.
Alternatively, I for one dislike having an insert mode. Pressing CTRL (remaped to caps lock) is easy.
Try Spacemacs