Hacker News new | past | comments | ask | show | jobs | submit login

I recently tried to seriously use Emacs over my usual Vim. Mainly because I've got so used to the GNU readline emacs shortcuts in the terminal and quite like the idea of not having to switch between command and insert mode, but damn after looking into some configuration options it really is a massively complicated piece of software, I mean not to start using it, it's probably easier than Vim but just looking at all the various modes, plugins, the whole ecosystem behind it. Even emacs lisp doesn't put me off, with some albeit minor exposure to Scheme and Clojure in the past. Especially now that I have got comfortable with Vim having no plugins but knowing enough Vimscript to be productive, I really don't think I'll switch, it's too much of a commitment.

I just started with vanilla emacs, and used it for not much more than writing notes in org-mode.

It was a few months before I started editing my config files, first to get rid of the start up message, then to handle some org exports, then to do a little python programming.

Your config file grows as your use of emacs expands. I now use it for programming, task management, email, calendar, accessing remote files, git, and occasionally a little note taking.

The worst thing you can do with emacs, when starting, is to look at other peoples .emacs files. It's just intimidating

Emacs users are often so enthusiastic about all the things emacs can do that they overcomplicate the experience.

Just open emacs with no customizations.

You can do everything with a tiny handful of commands, many of which you already know: c-F for forward char, c-B for backwards char, c-P for previous line, c-N for next line. It's modeless so if you type you'll see your keystrokes. Run the tutorial to learn a few more (c-H t -- c-H is "help").

One difference in emacs compared to many other editors is that search is so lightweight that it's trivial to use search to move the cursor around. So actual "cursor movement" is less common.

I was pair programming with a colleague who's been using Emacs about as long as I have (since 1978) and the other day he learned a new command. "I can't believe I survived with this command", he said, but really, he had done just fine.

Yeah it's good advice, it's how I treat Vim really, I have a handful of keybindings to make it easier, but generally just stick to the defaults with everything and stay away from plugins.

> I recently tried to seriously use Emacs over my usual Vim.

For the fellow Vimmer, I suggest Doom Emacs. I'm using it to type this message now! Yes, it's a distribution with many batteries included, but you can eliminate what you don't need. It's quite flexible, and the dev is very responsive.

I recently dropped Vim and going with vanilla Emacs. I reconfigured my current Emacs/evil-mode config and took out everything evil related.

For the next few days I painstakingly worked through the keys. By the end of the week, I had enough. I felt too slow and my hands started aching ironically. My current Linux environment relies on me to easily switch between windows with HJKL and other shortcuts I've instituted over the years. Also, I work on two different keyboards. Both work fine with evil-mode, but one required some serious rebinding just to use vanilla Emacs.

I returned to evil mode and feel right at home. I did take some things with me, such as C-a/e for moving to the beginning and end of a line and C-d and C-k for deleting characters and lines, respectively.

I'd love to hear from Vim and Emacs users on why they preferred Emacs' bindings over Vim's, if that ever happened.

Thanks for the responders to my parent comment. I might look into spacemacs or DOOM emacs, I've heard about both and seen some videos and obviously either sound like a good way to switch over. I'm not actually having any issues with Vim that is encouraging me to switch, but stuff like org mode, email clients, magit and other things can all be run out of emacs is very intriguing indeed.

I'd personally recommend the opposite: start vanilla (with Evil) and understand why you're including every package you do. But you might not find that productive enough to stick with, so maybe try DOOM or Spacemacs as well?

Org mode is good, but most Emacs mail clients are pretty meh. The primary advantage is getting to use the same interface to everything and being able to customize everything easily. With the relatively small volume of email that I process, it's just too much work to keep all of the configuration working for mail in Emacs. Magit is cool, I think you'll enjoy it.

If you're looking for an easy switch, I'd recommend DOOM Emacs (https://github.com/hlissner/doom-emacs)

> I've got so used to the GNU readline emacs shortcuts in the terminal

If you happen to be using bash, "set -o vi" was a godsend for me.

You should also check out the relatively new setting that lets you visually track your mode.

    bind 'set show-mode-in-prompt on'

You probably shouldn't switch. I'm an emacs guy myself, but from what I can see, the advantages of vim are equal but different. If you are skilled with vim, there's probably no good reason to switch at this point. We could have a good argument about what you should have started with, but I'll pass.

As someone who has gotten the hang of the keybindings and only just started learning Vimscript, I'm curious whether you think I should stop and switch to Emacs.

My personal experience as someone who started with vim and than switched to emacs:

If you intend to do a lot of customization to your editor, or expect IDE-like features, I feel that emacs is the superior choice.

elisp is a OK scripting language. Rather quickly I could read and understand the internals of emacs packages (and of some of the emacs internals itself!), despite having basically no experience with lisp. Self-documentation and explorability is truly incredible.

I never really looked into VimL, but my understanding is that it is really not as good.

I still prefer vim bindings, so I use evil-mode on my "vanilla" emacs and vim bindings in spacemacs (well, "hybrid" bindings to be exact).

So my personal take:

- vim for sysadmin, being able to run a fast minimal editor behaving the same on multiple machines

- emacs for development, where having a "tailor-made" editor with lot of config/customization is important

> - vim for sysadmin, being able to run a fast minimal editor behaving the same on multiple machines

Have you tried TRAMP? It's not just something that lets you have your Emacs config on remote machines: it brings the remote filesystem to your machine. (It's a little like sshfs except more powerful and much more convenient.)

Since I was being asked, I'll say this is an excellent answer.

Not that guy, but IMHO if you find yourself reaching for Vimscript, that's about the point where learning Emacs/elisp is probably the better investment.

There's highly recommended pre-configured packages like Spacemacs or Doom-Emacs that ship with vi-key support enabled by default, allowing you to keep much of your muscle memory.

As this is not an overnight conversion and you are quite proficent with vim already, my advice is to:

- Get used to type "emacs file.txt" instead of "vim file.txt" in your console.

- Have a function in emacs that opens the current file in vim for those moments where you just want your trusted environment. Writing it by yourself is a good focused learning experience.

This way you'll decide (and balance) how much you want to learn every day, and little by little you'll find yourself using that function less and less.

GNU readline supports vi keybindings. Stick to the one true editing experience! https://www.gnu.org/software/bash/manual/html_node/Readline-...

if you are serious about switching go for spacemacs... it's an emacs that is tuned to be pretty good out of the box and caters mainly toward vim users.

Might I suggest GNU Nano? It has many of the same Readline shortcuts, but it's a lot simpler. It's what I've settled on. (Seriously.)

Yeah you might be right, it's tempting, simpler does sound better. I occasionally reach for nano when I'm on a system that doesn't have Vim out of the box (and I don't want to use vi, which is always there, but is just that slightly different to Vim in a few subtle ways to be annoying).

I've been trying to switch from vi to emacs. Partly for Clojure, partly because it's free and I've grown tired of trying to convince employers to buy me software tools (they never do).

Overcoming 20 years of vi muscle memory is hard. You just have to go 100% emacs and eat the reduction in productivity for a few days/weeks.

I'm getting there...

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact