Hacker News new | ask | show | jobs
by sergiotapia 4374 days ago
Refreshing to see this after all the Vim gospel programmers out there claiming it's benefits. I do have to say though, I've seen some videos of real Vim pros at work and it's -majestic- how swiftly they move through lines and duplicating lines, editing params, refactoring, etc - a thing of beauty akin to watching videos on /r/artisanvideos[0].

I'll stick to Sublime Text and Nano when I need some ssh terminal editing. :)

[0] - http://www.reddit.com/r/artisanvideos

3 comments

Our industry works this way and I don't understand why programmers who are always "using the right tool" call anything new that they disagree with "gospel" or "evangelizing."

SublimeText isn't that old. Somehow you found out about it, learned its keyboard shortcuts, found out what plugins to install to do your work, and made it your editor.

That's how I learned Vim. I'll admit that I have a bias, and that learning to use something else would be harder.

But here's the thing - the Vim knowledge I have can translate to Visual Studio with a plugin, to XCode with a plugin, and to Eclipse with a plugin. Netbeans, RubyMine, and Webstorm have a Vim plugin as well.

So does SublimeText.

SublimeText's knowledge transfers to the next paid version of SublimeText.

The issue, really, is that vim is stuck in terminal land. It can't have easily navigable GUI menus, it can't really have overlays, it can't have a minimap, it can't have differently sized text, it can't have all sorts of things as a result of its dependence on the terminal. It doesn't even have autocomplete for its commands, at least out of the box, which would make it significantly more usable without disappearing into help files every time I want to do something I don't do often.

Add on to that its awful configuration language and the fact that it's not really usable out of the box unlike Sublime Text, it's easy to see why some people consider it unmodern and, for them, inferior.

I you are interested in a fork, have a look at neovim[0]. Many of the issues you describe are being addressed.

[0] http://www.neovim.org

The issue, really, is that most Vimmers, including its core devs, don't care about all the gimmicky features you list.
They're not gimmicky. I depend on them every day, either for learning or for regular use, just like vimmers depend on the weird ability to build up ridiculously complex commands. You may as well call user interfaces aside from the shell prompt a gimmick altogether.
You depend on them everyday but most people don't and nobody cares about that because nobody is trying to force you to use Vim or even change your perspective about it. Some retarded bloggers, on the other hand, like to use their lack of patience/knowledge/willingness to learn as a proof that Vim sucks. Well… they don't really serve their goal, do they?

> vim is stuck in terminal land

For people who use a terminal it's not a problem at all.

> It can't have easily navigable GUI menus

I suppose MacVim and GVim don't count. Vimmers usually don't use menus, though.

> it can't really have overlays

And we don't want that gimmick.

> it can't have a minimap

And we don't want that one either.

> it can't have differently sized text

Same.

> It doesn't even have autocomplete for its commands, at least out of the box, which would make it significantly more usable without disappearing into help files every time I want to do something I don't do often.

It has tab-completion, though.

> Add on to that its awful configuration language

    set showmode
is awful? Oh yes, JSON… the answer to every damn problem on earth.

> and the fact that it's not really usable out of the box unlike Sublime Text, it's easy to see why some people consider it unmodern and, for them, inferior.

To be honest, if Sublime Text had been available for Mac OS X and Linux when I was looking for a cross-platform TextMate alternative I would have switched to it in a heartbeat. But I chose vim out of a very large pool of editors/IDEs and, frankly, using anything else is now a PITA.

I'm actually quite comfortable with Vim's perceived learning curve: it keeps the most superficial users out of our ecosystem.

>I'm actually quite comfortable with Vim's perceived learning curve: it keeps the most superficial users out of our ecosystem.

Literally the dumbest thing I've read on HackerNews. https://twitter.com/shit_hn_says material.

Why would you even care who uses what or belongs to your 'ecosystem'? What?!

The Sublime Text knowledge I have is pretty esoteric, I admit. You have to learn weird key combos like Cmd-C to copy text into a register (or a "clipboard", to use ST's unusual terminology), and Cmd-V to "paste" it. I have no idea which other software uses those shortcut combos.
I'm referring to the many, many ST things I mentioned in my posts. Copy and paste is trivial and I'm sure you're aware of what I was referring to.
You can do exactly that with GVim if you are so inclined.
Or I could use SublimeText 2 and not have to learn weird keyboard combos that only work in Vim.
You would think it would translate, but my experience with most VIM plugins is that they're rubbish. They have the surface level stuff (basic keys), but they don't even come close to replicating a lot of the more advanced things (paragraph editing and so on)
You're mostly right re: knowledge transfer, although it's really as simple as you imply.

First, Vim emulation widgets vary a great deal in quality, supporting different, disjoint subsets of Vim functionality. Just as an example, ideaVim doesn't support Ctrl-W for navigating between panes. The deeper your knowledge of Vim, the more diminishing returns you get.

Second, Sublime Text's Vintage mode supports enough of my Vim workflow that it's actually made me faster with Vim and other Vim emulation widgets. To the extent that any Vim emulation mode overlaps with Vim, I have improved across the board. Of course this is true mostly for the less deep features IME.

> I've seen some videos of real Vim pros at work

Yeah, I know one of these people too. I know one for Emacs, Eclipse, Excel and of course SublimeText.

Honestly, I don't see why some folks obsess over text editors/IDEs. Familiarity and mastery matter way more than features. Sure, a truly barebone editor like Notepad.exe or nano might be insufficient, but any editor with a decently-sized following has enough features to make its users comparably productive - as long as you learn how to use them (This is almost a self-fulfilling claim: if an editor has a sizable following, that means it got something right for its users).

I mean, how else do we explain that Rob Pike uses Acme, Joshua Bloch uses Emacs to write Java, and Paul Graham uses vi to write code and prose?

Wait a minute.

I am sure I have read that part somewhere:

> Honestly, I don't see why some folks obsess over text editors/IDEs. Familiarity and mastery matter way more than features. Sure, a truly barebone

Are you quoting someone ? I think I read something like this some years ago and it turned into a short-lived meme about text editors.

Or am I experiencing some kind of déjà-vu ?

I feel very bad for anyone that uses Nano for any kind of terminal editing. Not to mention there's a whole class of very serious developers that live in the terminal. Nano is the notepad.exe of *nix.
It's good enough for me. I normally use it edit conf files.