top | item 16551796

After over a decade of Vim, I’m hooked on Emacs

180 points| zeveb | 8 years ago |changelog.complete.org

161 comments

order
[+] bocklund|8 years ago|reply
I did the same thing and stuck with it for a year. In the last couple months I decided that I needed to stop tweaking every last thing and wasting so much time and compromise by using the tools that allow me to be the most productive.

I dropped my highly customized emacs for Omni Focus (org-mode), Mail.app (mu4e), SublimeText (general emacs, org-mode), Mendeley (org-ref, helm), MS Word (LaTeX-mode). I never stopped using PowerPoint because it’s the standard in science and the couple times I tried Beamer (directly and through org-export) were a nightmare for having multiple figures per slide. I also sometimes use Excel now, though Python is still more often the better tool. I have not found a good personal knowledge base; right now I am using Evernote.

I have several collaborations and projects. Keeping my tasks organized needed to be easier than org. Working with other people in formats that will make them happy to work with me was also critical. Even with things like Overleaf and ShareLaTeX, it is too hard to collaborate with others.

Giving up plain text formats and version control are challenges.

[+] microtonal|8 years ago|reply
I have also tried to live with Emacs for about a year. In most respects it is absolutely great, inline LaTeX rendering, org-mode is like having Jupyter in your text editor (and a lot more), Magit is hands-down the best Git porcelain.

However, I have found that both with Spacemacs and vanilla Emacs + packages I basically end up with a Rube Goldberg machine where it is hard to see how things work and fit together. Combined with the tendency of packages to break very often, I frequently had the feeling that the ground was crumbling under my feet.

I am mostly back to vim now for editing (+ Things for todos). For presentations and text I use one of {LaTeX, pandoc Markdown, Deckset.app Markdown}.

[+] Myrmornis|8 years ago|reply
I’ve used emacs for over 15 years and my init file does have plenty of custom code but yes, I also decided several years ago to drop all fancy org-mode config. There is a risk of spending way too much time configuring and dealing with breakage, and the TODO stuff didn’t have the magical effect I’d hoped. As a programmer, I eventually found org-mode too much of a violation of the Unix do-one-thing well design philosophy.

However I still use org-mode as an outliner, containing little code blocks and informal TODOs, and I love using emacs and writing modest Elisp modifications and have successfully introduced people to it. I wish more people knew how to try it out in server mode with emacsclient as there is still a widespread misunderstanding that it is slow to start up.

One final comment: the rise of markdown was a huge blow to org-mode. It doesn’t always make sense for me to draft notes in org when they ultimately will become comments on github (or JIRA for that matter, oh god).

[+] look_lookatme|8 years ago|reply
Same, though I switched off Emacs due to moving to a consultancy and working every couple of months on a different project in a different language. For this kind of work the Jetbrains products were a godsend. The switch to OmniFocus followed logically (bonus points for phone sync).

Now that I'm back to working on one product (Ruby/Javascript) again I tried VS Code, since that's what my coworkers use, and it's been fine. Having ripgrep as the search backend is awesome and the built in terminal gets the job done. I tried going back to Emacs but I got fed up with the mental overhead of remembering rectangle behavior and emacs regexps.

[+] z0r|8 years ago|reply
I understand the choices you've made. I wouldn't make them myself, but I can tell my needs aren't as complex as yours (appreciate that you haven't had to resort to anything that only runs in a browser).

The emacs buffer abstraction (and bag of commands) is what makes it so good for me. Having everything in one place is great, and having everything (mostly) just text is also great. I hope more people with your type of workflow needs have the patience and free time to write good emacs packages.

[+] zeveb|8 years ago|reply
> In the last couple months I decided that I needed to stop tweaking every last thing

That's why I use emacs Prelude[0], a set of defaults which are, all-in-all, pretty great.

I much prefer having the same environment for everything. The fact that you have three different, presumably incompatible pieces of software replacing parts of Org mode is itself pretty revealing.

[0] https://github.com/bbatsov/prelude

[+] lazyjones|8 years ago|reply
> In the last couple months I decided that I needed to stop tweaking every last thing and wasting so much time

Isn't that exactly the same thing vim pundits are doing these days? Typical vim installations now load megabytes of macros and settings. I've always stuck with plain vi / nvi (until the encoding problems became too much) and never bothered with all the autocomplete scripts etc. ...

[+] cup-of-tea|8 years ago|reply
Wow, I just can't imagine how anyone could do that. Some of those tools I can understand but MS Word? Powerpoint?

I use org-mode and I make exports for nontechnical people. I use org-mode and Pandoc to make MS Word files which does everything I would ever want to do. Org-mode and ox-reveal (using reveal.js) is great for slides.

I would say just use whatever works for you, but it makes me sad that I can convert my things to your format but you can't convert your things to mine.

[+] learc83|8 years ago|reply
Vim has been a bit of a mixed blessing for me. I rarely actually use vim, but I use the keybindings everywhere.

It's great because I can fairly comfortably move between most editors because most editors have a vim mode.

The downside is that most editors don't have a complete vim mode, so it's never 100%.

[+] Sean1708|8 years ago|reply
Ah see what really bugs me is that most vim modes do try to be a complete vim mode (and the fact that they never succeed just adds insult to injury), they always try to be a vim emulator instead of providing vim-like keybindings that make sense in the context of the editor.

I do appreciate that I'm very much in the minority here though.

[+] strkek|8 years ago|reply
Bonus points for using vim mode on browser editors like CodeMirror or ACE, and then trying to delete a word via <C-w>.
[+] rvo|8 years ago|reply
I use vim bindings in zsh, tmux (tmux modality plugin) and chrome (vimium). Pretty much 95 percent of my computer interactions right there.

Why not just use vim? Why bother with other editors? I have changed jobs but carry my dot files with me.

[+] Jonathanks|8 years ago|reply
That's quite like my experience. I started out with Emacs, but I learned Vim along the way and the key bindings are awesome. I use them in other editors, but often they conflict with the editor's defaults, or they're not emulated properly. I don't use Vim exclusively (I couldn't get to customize it, couldn't get to learn vimscript), but the key bindings are great.
[+] linkmotif|8 years ago|reply
Exactly this is what I was thinking when I concurrently left kind of the same comment but with a lot less clarity: https://news.ycombinator.com/item?id=16552613. I am stuck in vi mode everywhere, but different flavors. And yet I like it a lot. (The latest version of JetBrains' vi mode with zero latency is great!)
[+] moistoreos|8 years ago|reply
VS Code comes close though. Would still rather hit Vim/Neovim to do work in.
[+] alexpetralia|8 years ago|reply
Surprised to see no mention of spacemacs[1] so far - you get the evil keybindings with the helm user interface.

[1] http://spacemacs.org/

[+] lilactown|8 years ago|reply
I tried out Emacs when I started learning Clojure (through Clojure for the Brave and True[0]) and didn't find it at all usable. Remembering the various chords was at best obnoxious and at worst, a huge productivity loss. It felt like it would take weeks or months before I was even close to productive.

Later, I tried picking it up again, but this time chose spacemacs. Hoooly crap, what a difference.

1. Discoverability. The helm UI is better than any docs, since it's there when and where I need it to find the thing. It also provides the ability to search for arbitrary commands, which is great when you're learning a new mode or layer.

2. Modal editing. I wasn't a vim user before, but spacemacs has converted me over to the modal editing camp. It makes a ton of sense now and is a joy to use alongside Emacs' power.

3. The layer system is way easier to use than ELPA directly and takes most of the pain of configuring packages away.

For someone who wanted the power of Emacs without having to touch the insides, spacemacs is wonderful and has fully converted me over to using it everyday!

[0]: https://www.braveclojure.com/

[+] notheguyouthink|8 years ago|reply
I've been addicted to Kakoune[1] for about a year now. My only complaint is it's a bit short on language specific features, due to the small community.

I really should try Spacemacs. I'm quite curious to see how the two mentally compare. For me a huge thing about Kakoune is seeing the selections ahead of time - Vim always had me guessing at what a delete (or w/e) action is going to do. Kakoune makes that so nice.

[+] jtth|8 years ago|reply
I wanted to love it but it takes longer than Atom to start up on a new iMac.
[+] Sir_Cmpwn|8 years ago|reply
It sounds like he never wanted vim to begin with. He wanted an IDE, which vim isn't. Vim is your editor and Unix is your IDE.

Effective vim does not start with a lot of plugins IMO. If you expect more than an editor from vim, you have come to the wrong place.

[+] arnoooooo|8 years ago|reply
I used Vim for 15 years, then switched to Emacs+Evil. Vim is the best interface, Emacs the best platform. Emacs+Evil combines both.
[+] swagtricker|8 years ago|reply
Addresses that old joke: Emacs is a great operating system, but it lacks a good editor; like Vi :)
[+] ben509|8 years ago|reply
Haha, I used vim for a few years before switching to emacs. My brain just does not work modally. Still miss the dot though.
[+] ben509|8 years ago|reply
I've been using emacs for years, and I certainly did the whole "oh wow use emacs for everything" bit. Over time, I've pulled back and don't use many plugins outside of helm and flycheck.

I can not for the life of me understand the appeal of org-mode. It's probably just me, because most other organizers don't work for me, but if you're going to do a file-based organizer, it seems like you want a way to easily pull stuff out of old files so your working set isn't spread out all over the place.

[+] Aloha|8 years ago|reply
I guess I'm all alone over here with my love of nano - yes, its not as powerful as emacs (or even vi) - but it works well enough for what I need a text editor for.
[+] sevensor|8 years ago|reply
Since we're plugging for minority editors, I'm going to do what I always do on editor threads and mention kakoune. Modal like vi, but with a different take on the paradigm, modern, embodies the "UNIX is your IDE" philosophy. Integrates in an unobtrusive way with tmux and X11 because window management is out of scope for the editor. Lets you attach multiple clients to the same session, supports multiple buffers. I'd used vi (and later vim) from 1997 to 2017, but kak won me over and I've been using it as my primary editor for over a year now.
[+] tombert|8 years ago|reply
I had a coworker (who I greatly respect as an engineer) whose main "IDE" was GNU Screen and Nano, which he used primarily for PHP and JS development.

I wanted to make fun of him, but his code was generally better than me, despite me using Vim, so I had to keep it to myself.

[+] cup-of-tea|8 years ago|reply
What do you need a text editor for?
[+] kreetx|8 years ago|reply
You nano guys are literally crazy!

I also have a coworker who uses nano for js development atm and he appears to love it. I guess in the end the plugins, the tools, the etc. don't mean as much as the person typing/thinking.

[+] mamcx|8 years ago|reply
Nano is great!

It can also color syntax. If only have a way to code-completion...

[+] draw_down|8 years ago|reply
I think nano is great for small use cases. I couldn't see using it every day, but I would absolutely take it over all the modal editors like emacs and vim which just strike me as ridiculous and vaguely user-hostile. It may be underpowered but at least I can understand nano. The others, forget it. Using them is almost like joining a cult.
[+] richard_todd|8 years ago|reply
My resistance to putting my life in Emacs these days is that half my time is spent on mobile devices. I know org-mode exports a variety of formats, but how easy is it to interact with my todo list or add notes from my phone? If popular services all had APIs I could see hooking Emacs into them, but they just don’t in general.

I read the posts so far from this article, and was hoping to see the mobile angle addressed.

[+] tombert|8 years ago|reply
I used to use pure Emacs, but switched full-time to Vim keystrokes after I got stuck for the billionth time trying to figure out the "undo direction". After a certain point, I realized that I really just needed Vim, since I never really used any of the features in Emacs except the text editor.

Now I mostly just use NeoVim, and with its async support and a lot of the plugins for it becoming excellent, I really have no desire to go back to Emacs...except that I keep hearing about org-mode.

One of these days I might go and try out one of the several plugins for Vim that try to tack-on org-mode, but as it stands I've gotten my NeoVim configuration so customized it would take quite awhile to actually replicate in Emacs.

[+] erikb|8 years ago|reply
Yes, the good ol' org-mode. I also consider it the core killer feature of emacs. However I found it doesn't match into all my processes. A text editor you can drop into different kinds of work processes. But a whole engine that uses formatted files as data storage is different. With emacs and org-mode the whole thinking is inside emacs. that's fine if you want to use it for everything. But if you just want to use org-mode and drop it into different contexts it fails.

It's still great tho, no criticism intended.

[+] davidw|8 years ago|reply
I have been using Emacs for 20 years, and still discover cool new things every now and then.
[+] ksk|8 years ago|reply
I like toys as much as the next nerd, but how do people see the perceived value of such tools? Personally, I am relatively unconvinced about the advantages of tools like emacs or vim over anything "regular" people use. IMHO Tools should be evaluated by the results they produce, and so are we seeing anything amazing from the users of these tools versus people who just use a notepad or whatever other generic system?
[+] blackrock|8 years ago|reply
To be honest, Emacs never worked for me. It added too much complexity, for too little gain.

M-w, to do a copy. Or some other hobgoblin that I need to remember, when all I need is just a browse-able menu. I just need the shortcuts, for when I repetitively do an action, multiple times in a row, where it's quicker to just hit the keys, instead of using a menu.

Maybe it was cutting edge in the 1990s, but then computers got much faster, with more memory. And the graphical IDEs like Visual Studio, and Eclipse, blew it out of the water.

Today, when I'm coding in Python, then I just use an editor like Notepad++. I get enough syntax highlighting hints from that to avoid obvious coding errors.

Most of the time, I'm on Windows. I secure shell into the Linux server, and open the file from there. Then it saves back to the server. Then I run my code on a shell. This setup works pretty well.

If I need to review the code while on the shell, then I just open it in Vi. Or just open it in Windows.

[+] linkmotif|8 years ago|reply
No mention of evil, which is always my first question when I consider trying Emacs: how will I get past not having vi bindings?
[+] blunte|8 years ago|reply
I like both, but I still absolutely love two features of vi:

- hjkl movement keys (which depends on multi modes)

- . (dot) to repeat the last command

But honestly, there are so many fantastically useful features of vi that it's hard to give up.

I learned Emacs because of Clojure, and I got reasonably proficient with it. Thanks to Emacs, I now am much more efficient in editor boxes and terminals because of ctrl-p and other movement keys, as well as jump to begin/end of line, etc.

But vi is preinstalled in more places (even if it's a weak minimal installation), so it will get used rather than me installing emacs on some system I only need to be on for five minutes.

Vi also seems more performant. I haven't attempted to measure, but it sure feels like it has lower latency than Emacs.

[+] BeetleB|8 years ago|reply
>But, critically, automatically embedded in that note is a link back to what I was doing when I pressed C-c c.

That's neat. How do I do this? My setup is almost a decade old.

[+] dmix|8 years ago|reply
I recently tried giving Emacs another shot, as it was my first love, with Spacemacs and it was terribly slow. I couldn't believe how long it took to boot up and how choppy it was compared to SpaceVim.

Having started with emacs to use with LISP/Clojure I ended up with Vim because it's just felt lighter and the key layout more logical. And much of the plugins were comparable or superior, with the exception of LISP languages.

[+] farresito|8 years ago|reply
Your last sentence is interesting. As a vim user, I've always regarded emacs as having a much better ecosystem. The only plugins that I've found superior in vim are those related to text editing (for example, new operators).
[+] mbreese|8 years ago|reply
When my new job added Slack to the mix, that was finally the last straw.

And later...

So I found myself switching from Thunderbird and mairix+mutt (for the mail archives) to mu4e, and from xchat+slack to ERC.

If being able to use Slack from Emacs was the main point of this, he is going to be very sad in a few weeks.

https://news.ycombinator.com/item?id=16536254

[+] JoshMnem|8 years ago|reply
I still use Vim (neovim) but switched my notetaking to Org Mode + Evil. It's great, especially capture templates and the export features.