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.
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.
I rock emacs 24/7 for all code outside of xcode or android studio (php, phantomjs scripts... anything not java or objectiveCMethodWithAnIncrediblyDescriptiveButEffingLongName), and I've found "calm forest" in the color themes package to be a wonderful general theme. It's a great place to start for building in custom syntax settings for "less supported" languages.
Godspeed on the project, and perhaps if I can get some time to force myself into ob-c in emacs at work, I can help.
How does storyboarding work out, or are you just writing the markup directly?
I'm currently only interested in native code auto completion as good as in XCode where it understands the complete class hierachy and types half the boilerplate for you. For Storyboards or Xibs you'd still need XCode. I've long thought about a nice compiler from a simple text format to xib in order to have better version management capabilities, and it may be reasonable now with layout constraints to implement something like that, but I think storyboards would be best done in XCode.
I'll comment on this thread again once I've shared the objective-c emacs code.
I think that what makes Vim inferior nowadays is its scripting language, and its clunky implementation in general. It takes a lot more effort to build something like org-mode in vimscript.
Year, it didn't really work well for me and the objective-c support was subpar. But I used some of the code for pointers. I think I tried all available emacs clang completion limbs before trying to port youcompleteme
A littlebit confusing. I still need to set it up correctly, I think. First, C-<left> moves me to a different desktop space here on my Mac. So I didn't play with it much more after that. I should try it out again.
I understand; I'm temporarily using Mate (instead of xmonad) and this WM is intercepting a lot of emacs keybindings.
I'm asking for comparison in learning. It took me 3 attempts, separated by many months, before feeling at home with paredit (even though I loved lisp s-exp and the idea of structure-aware edition). But when I clicked[1], that was it, can't live without it (and other languages will feel slow after that). I think swapping, wrapping expressions, helps in the process of thinking.
I hope you'll be at ease with it.
[1] it helped that I was following a MOOC using Racket (regular motivation) while chatting on irc with emacs/lisp users (less frustration).
- 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.