On switching from Vim to Emacs

Published: 2013-08-13 10:30:30

Note on my current process of switching from Vim to Emacs

On switching from Vim to Emacs

I'm still in the process of switching from Vim+Extensions to Emacs+Evil+Extensions. What I say now mostly applies to the Cocoa version of both editors, such as MacVim and Emacs/Cocoa: What I like so much about Emacs so far is the better editor component: Text can be a little bit rich:

  • Inline images are kinda supported
  • There can be different font sizes
  • There can be styled (bold / italic) text.

So a good syntax definitions could have different background colors for code, different foreground colors, different text sizes, different text weight / italics.

I find this much more pleasant for the eye. In vim, all text has to be the same size and all text has to be the same font. In emacs, you can even (with some hacking, as I remember) have different color themes for different windows/views.

If I'm looking at an editor all day long, I want it to look pleasant. Period. Have a look at https://github.com/jasonm23/emacs-soothe-theme to see how beautiful it can look.

Apart from that, the other reason why I'm trying to switch is that I wanted to become better at lisp and I really wanted to have an editor that I can shape like a tool to suit my needs. And I could never get the hang of vimscript. So if I already learn a new language Lisp sounds like a better investment than vimscript.

So far, I'm happy with emacs, though I can't use it for all my coding yet. Most notably, it lacks a good Objective-C code completion. On vim, there's YouCompleteMe, which does a formidable job of connecting with clang complete. I started porting youcomplete me over to emacs a couple of weeks ago but had to stop due to other priorities. I'm at a point now where I can get the correct completions in emacs in a popup when I'm over a symbol or at the end of a property (self.???). However, I still have to solve a couple of issues and it is not ready for usage yet which is why I've never shared it. If somebody knows a bit of emacs lisp, python, and objective-c and wants to help out here, I'd be glad to share this project on Github.