Hacker News new | ask | show | jobs
by mtp0101 4820 days ago
I find it odd that Sublime is so widely loved. It seems like a way-station between Notepad and Vim/Emacs. The extensions are nice, and the GUI is easy on the eyes, but it seems that most of my peers outgrew their Sublime Text/Notepad++/Textmate stage by the time they completed their first year of undergrad. I would hate to be stuck in the slow world of Sublime Text limbo as a result of being too lazy to learn and customize Vim/Emacs.
7 comments

I find it odd that Emacs is so widely loved. It seems like a way-station between Notepad and a proper text editor that fits in with all the other software on my system, using familiar keyboard and mouse commands so I can get things done instead of having to look up arcane rituals worthy of Git to do any moderately powerful editing task and learning a failed programming language to do any sort of scripting or customisation instead of using a modern one I already know. I would hate to be stuck in the slow world of Emacs limbo because it took so damn long to customise everything instead of just setting it up in a few minutes and then getting on with real work.

Disclaimer: Yes, this post is a sarcastic parody of the parent. Mostly...

You find it odd that Sublime Text is so widely loved? Seriously? It combines the greatness of some of the best editors out there into a single one that is approachable and sexy and you can't see how it appeals to the masses?

Let's list out some of my favorite features of Sublime Text (please keep in mind I switched FROM vim to Sublime):

1.) VIntage mode that allows for 99% of day-to-day vim stuff 2.) A plugin system that uses Python and offers a full-featured API (vimscript anyone? pfft) 3.) Full mouse/windows support (i.e. it's not ghetto mouse support thrown over a terminal window from the '70s) 4.) Textmate-style themes that even allows tweaking to the UI 5.) Native Linux, MacOS, and Windows versions

The only negative is that it isn't open-source, which I hate, but the licensing is very reasonable (it's per person, not machine, so you can install it on as many devices as you use)

I'd really like to see you give a real-world example of how it's slow compared to vim/emacs, because maybe I'm missing something. I've been using Sublime Text for over a year and have only had to break out vim a couple of times for some crazy vim-style search/replacing or to quickly open some super-large text files (I think better large-file handling is in the works for sublime though...).

Oh, and one of Sublime Text's best feature? It doesn't come with the elitist attitude that a lot of vim and emacs users seem to get... :)

How is the buy-the-beta-then-there-is-a-new-version-immediately-you-need-to-pay-for-again reasonable licensing?
As someone who purchased Sublime Text 2 over a year ago, I'll have to pay a $30 upgrade fee. Someone who purchases v2 now (or any time after the announcement of v3) will get the upgrade free. Anyone who purchased v2 in the 90-day period before v3 was announced will be able to upgrade for only $11.

This doesn't strike me as wildly unreasonable.

To me this is unreasonable when there is no progress on a bought version.
Interesting that you pin it down to laziness. In my opinion it has more to do with the fact that the learning curve of Vim/Emacs outweighs their usefulness.

I can understand their use being much more of a necessity in previous years, but I think their time of unparalleled performance and productivity are over. Having used Vim for a few years (having studied it for many hours) and then switching to Sublime Text - I don't see any productivity decrease.

That being said, if you are happy using Emacs - by all means continue to do so!

It shouldn't be that surprising. I tried vim for a while, but I prefer sublime text. It's true that vim is more powerful, but for me that power seems to mostly theoretical. It doesn't seem to make me significantly faster in the real world. On the other hand, the basic text navigation keys in sublime text are the same as they are elsewhere in my os, so I don't have to switch in and out of "text editing mode" frequently. In any case, congratulations on advanced text editing learning curve.
A bit off topic, but the big win with Vim (and, from what I hear, emacs) isn't the speed per se; it's the lack of cognitive load. "I need to replace everything after the equals sign", for example, takes less concentration than "I need to move my cursor to the beginning of the word after the equals sign, hold shift, move it to the end of the line, and then hit backspace". Once I got past the terrible learning curve, being able to use those kind of abstractions made a noticeable difference in how much program state I can hold in my head while I'm changing it.
I think vi speed is much more theoretical than practical. v5j to select the 5 lines below? Sure, I can't think of a faster mode. BUT in reality

1. you have to check if you're in insert mode or not. Or you think you are, you're not, write vf5, press esc, press u to undo, retype vf5. Or you don't know and you press esc before it, so it's actually esc+v5j, and esc is not the easiest reachable key

2. you have to know you want to go down 5 lines. In reality, you know you want to go "a bit" down, so in a real world situation you either count (slow), make a subtraction with line numbers (slow) try to guess a number of lines, check what you've reached, keep retyping. This is all but "cognitive free". What is cognitive free (although requires more keystroke) is just press shift+down+down+down+down+down, for me.

I see your perspective, but I disagree that vi speed is mostly theoretical.

1. you have to check if you're in insert mode or not.

You should always be in normal mode unless you're actively inserting, so this shouldn't be something you really have to think about.

2. you have to know you want to go down 5 lines....

Since your example assumes that line numbers are visible, you could just type vnG, where n is the line number you're trying to put the cursor before. No subtraction needed. Depending of the shape of the text, there are probably other intuitive approaches as well.

Does the "tao" of vi take time to internalize? Sure. But once you've done that, you can be blazing fast.

There's nothing wrong with typing Vjjjjj until it looks right, and you can still click and drag if that's what seems easiest to you. But if you're thinking of it in lines and characters you're missing the real advantage.

You're still mentally translating a what into a how. You almost certainly don't want to highlight 5 lines down for its own sake, you probably want to highlight, say, the body of a function. Vim provides a command to just do that directly.

2 - That's where relative line numbers come in.
I have a love/hate relationship with Vim due to that sort of thing. In theory I agree with you; in practice I find it very easy to mis-navigate in Vim and find myself next to the wrong equals sign, or on the wrong side of the equals sign, or what have you. And in my experience, recovering from one of those errors, as quick as it is, makes me wonder why I didn't just use the mouse (or trackball, in my case) to click next to the damn equals sign in the first place. (Keyboard jockeys -- which I'm frequently one of, to be fair -- often underestimate how fast using the mouse actually is, I suspect, because we think of it as, "Oh, I have to move my hand all the way over there and move something and then move back, that's nuts!" Again in practice, I suspect the mouse removes a great deal of the cognitive load involved in navigation, and that may balance out more often than we're inclined to give it credit for.)

Incidentally, in Sublime Text -- as well as Emacs and most Mac OS X applications, as this is a system-wide keyboard binding -- you could just hit ^K after the equals sign for "delete everything from here to the end of the line."

In fact Plan9's sam and acme claimed the use of mouse was indeed faster based on studies. See http://plan9.bell-labs.com/wiki/plan9/mouse_vs._keyboard/
Minus of course the 3 months of concerted efforts and years thereafter learning the intricacies of vim/emacs to make such edits automatic.

Vim and Emacs are both such strange editors- I'd be quite happy if some other open source editor replaced them both as the default editor (that made better decisions in terms of plugins and abstruse key sequences).

I used Sublime for a while, then switched to Emacs for a while. I ended up switching back because, while I really liked Emacs, I didn't like being stuck in a terminal and I couldn't do effective pair programming.

The best bit about Emacs is the configuration, and I could give or take the awkward keybindings. Maybe if LightTable supported configuration with ClojureScript and offered a comprehensive API for it there'd be a more modern equivalent.

Some users, like myself, used and customised vim before moving to sublime text.I'm not saying you, or anyone else, shouldn't use vim, but some of us feel more productive in ST than vim.T alking about "the slow world of sublime text limbo" seems unnecessarily insulting.
I found ST2 a great tool for learning Vim actually. It has a Vim mode and although it's not a complete Vim emulation it gets most of the movement/editing right with key bindings.

I've learned a lot and I'm actually at a point where I feel the need to move on to Vim (due to the limitations of ST2's mimicry of Vim)