But.. how great can it be?
Both vim and emacs (and the terminals they run in) can use the fonts that your operating system has available on them. So what's the problem? And how is that inferior to what you get in Sublime Text 3?
Genuinely curious.
Second, while a nice look is great and all, I'm more interested in sheer power, not eye candy. I guess I'm more of a function over form guy, and both vim and emacs could look a lot worse than they do now and I'd still prefer them over virtually any other text editor out there.
If there's something that other text editors can do that makes them more powerful than vim or emacs, I'd love to hear about it. That's happened in the past. Sometimes there's been some feature that they don't have. And usually, not much later, vim and emacs both clone that feature.. absorb and expand, and move on.
[1] - http://www.sublimetext.com/3dev (search for Skia)
Saying that "I can clearly see the difference" and calling it a "nice modern UI rendering/feel" is too vague to be useful for improving emacs or vim in any concrete direction.
Also, both Vim and Emacs feel really chunky and numb when showing completions and switching buffers. They take many hundreds of milliseconds to respond to keypresses, while Sublime responds close enough to instantly for me to not notice. It makes a big difference for something that's done hundreds of times per day.
(That said, I'm still using MacVim as my primary editor. The botched ST2->ST3 transition demonstrated above all else the danger of proprietary lock-in...)
It would help if you would send a comparison of screenshots to bug-gnu-emacs@gnu.org.
I'm sure Emacs has modules for whatever or I could build it, but why waste the time. I'd rather pay someone to provide a solution that saves me time. I still keep emacs open for macros. Emacs is great for defining a keyboard macro and repeating it's 1000 times.
Again, it would be nice if people offered specifics when they described something another editor could do that emacs or vim allegedly couldn't. How exactly do you navigate a buffer in Sublime that's allegedly "much quicker"? Can you give an example (including exactly which keys you press and exactly what it does in response)? Or can you at least show a video demonstrating this navigation?
As for multiple cursors, both vim and emacs have had them for years.[1][2][3][4][5]
[1] - https://github.com/terryma/vim-multiple-cursors
[2] - https://www.youtube.com/watch?v=Umb59mMvCxA
[3] - https://www.youtube.com/watch?v=NYzGBnsJ-eg
What's the fuzzy match in Emacs? C-x b?
Why don't multiple cursors ship with Emacs? I'll give it a try.
But neither emacs or vim are limited to buffer selection using this relatively primitive method (which I do like and use myself). You can select buffers using an almost overwhelming number of methods and plugins.
You can filter, use regular expressions, use timing, use fuzzy matching, by buffer contents, color buffers in buffer lists using various criteria, etc. Here are some options for emacs: [5][6]
Both vim and emacs can bind pretty much anything to any key, so you can use Cmd-t for any of those (or a function key, if you preferred something that requires only a single keypress) or virtually any other keystroke.
[1] - http://www.emacswiki.org/emacs/Helm
[2] - https://github.com/emacs-helm/helm
[3] - http://www.emacswiki.org/emacs/BufferSelection
[4] - http://www.vim.org/scripts/script.php?script_id=521
[5] - http://www.emacswiki.org/emacs/SwitchingBuffers
[6] - http://www.emacswiki.org/emacs/CategoryBufferSwitching
I use emacs because it functions the same on Windows, Linux, OS X and Solaris, all the platforms I use across work and home. I use it in the terminal rather than the GUI, because then it functions the same whether over ssh or locally - and no, TRAMP is not quite good enough. And finally, I use emacs because I've had it with learning a different IDE every couple of years. At this point, I want to invest my muscle memory and macro library in something with some longevity. I want something where getting my settings and modules all installed is no more effort than a git clone.
If I could pay someone for something that did all this for me, I would, but the solution would look a lot like emacs: highly scriptable, with a consistent terminal interface across all 4 platforms I use. Ideally it would use a much stronger, faster version of Lisp, although its dynamic scope lookup is actually convenient for layering new behaviour on top of existing code.
(On switching buffers, I use helm + projectile, which does incremental filtering search over file names. For navigating projects, I find helm-git-grep is often more useful than trying to remember a file name - this is an incremental regex search across the whole project, using git grep. No other IDE I use is quite as quick to switch buffers as my emacs config.)
Since evil-mode is a vim-emulation mode for emacs, the above is possible in vim as well.
C-( do-searching-ESC-deleting-etc C-)
There's a new Emacs StackExchange: http://emacs.stackexchange.com
Maybe it'll become enough of a database that it'll be much easier to figure out how to add the "missing" features in Emacs. Currently 720 questions. Let's see how often it's used.
I once programmed Emacs to convert an entire component of Windows Phone from Hungarian notation to something saner.
If I save a file on a remote machine (sshfs mounted), it stalls the entire interface. I only use emacs, so I don't know if "modern" text editors are better at this, but I certainly expect them to be :)
Emacs and Chromium are the applications that I spend most of my time at the computer in, and both of those go through the same font-rendering system (Infinality patched freetype) and look very nice. I also use standalone Emacs frames and almost never run it from a terminal.
Edit: I installed Sublime and took a comparison screenshot with the same font, however slightly different font weight and theme: http://i.imgur.com/UqwM0j2.png
The theme is a modified version of Zukiwi-mac that has the new Yosemite buttons [1].
[1] - https://github.com/gmcabrita/dotfiles/tree/master/.themes/Zu...
What specific improvements would you like to see in Emacs text rendering? What is Skia doing that these very common system text rendering interfaces are not?
I always hear that argument and my own experience makes me strongly disagree.
So, let's make an hypothetical example: In your own comment I need to select the text "would be font rendering". Using the mouse it took me all of one second to select it, and send it to the clipboard. May be a bit less, because I used to play Starcraft and I know my way around with a mouse.
I can look at some point in the screen, and have the mouse there in less time it would take me to count the number of words from my current cursor to the desired position.
Now it's your turn. Tell me how I can use the keyboard for exactly the same task and be faster.
Disclaimer: this is a real mouse and not the thing that laptops use. I can imagine a touchpad being slower.
/fo<RET>vweobby
/fo <RET> I use search to get me close to where I want to be
v I enter visual mode, I want to see what I'm selecting
we I select the words 'font rendering'
o I realize I want to extend my selection to the left
bb select 'would be to the left'
y yank the selected text
I didn't need to count anything and the in-progress selection was visible the whole time allowing me to make adjustments to it.If you don't know all the Vim motion keys yet and don't like counting then you could also do it like this that requires very minimal Vim knowledge:
/fo<RET><C-left><C-left>v<C-right><C-right><C-right><C-right><left>y
How would you extend the selection to the left with the mouse without loosing the already existing selection?