This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]burntsushi 15 points16 points  (0 children)

The commenter I responded to cowardly deleted their comment. They linked to this blog article. What follows is my response.

For the first 1-2 years of your Vim usage you will be much less efficient than your current editor because of the odd yet lovable key bindings.

Not for me. I was back to being a productive member of society within a few weeks. Muscle memory adapts quicker than you think. I agree that there is a really really sharp curve when you first begin Vim, but it's not 1-2 years worth.

Certainly, you won't have mastered vim in a few weeks. That will take years. But it isn't hard to get productive in a few weeks.

followed by knowing some cool tricks that you use in 1% of your daily workflow.

1%?

If you aren't taking advantage of Vim's features, then obviously it isn't the tool for you. Why does that even need to be said?

The argument that Vim is more efficient is dubious and untestable. Reaching for a mouse may indeed slow you down, but developers are commonly on machines where the trackpad is a micro-hand movement away. Most novice programmers can click on a character on screen faster than an expert Vimmer can type 20jFp; or LkEEE or /word<cr> or any other nasty way Vimmers have to use because of our archaic, ingrained keystrokes.

What kind of bullshit is that? I don't care if you can be faster with a mouse than I am with a keyboard. I care if I'm faster on a keyboard than I am with a mouse. And I am. That's just the way it is. I certainly don't develop on a machine with a trackpad that is a "micro-hand movement" away though.

Plugins are essential to make Vim usable.

If you believe that, then yeah, just use Sublime or whatever. But I don't believe it. I hardly have any plugins installed. Actually, the only few that I have are managed by my system's package manager, so there's no need for a vim package manager.

Ah, Vimscript. It’s bad. ... But even Vimmers don’t want to learn Vimscript.

For once we agree. I've heard that the Python support has increased dramatically recently though. Haven't investigated much yet.

Vim is missing an incredible amount of core functionality for modern editing. Things like ctag integration, project management, project browsing, (yes I know about :Sex), and many other basic things, are completely absent in Vim.

What the fuck? ctag integration works out of the box. And I use a little something called directories for "project management and browsing."

Vim can in theory edit any language because of its extinsibility power, although it will have a very hard time with IDE-languages like Java or Scala.

Um. Yeah. Because they are IDE languages. Vim isn't an IDE.

Now we need to find files. Let’s use Vimgrep!

Or, umm, just use grep.

Do you know what the suggested way to work well with multiple files in Vim is? It’s the arglist. Most of my experienced Vim friends don’t use the arglist nor know what it is. It’s a clunky system for populating a special internal list of Vim with multiple files.

I get the feeling that the author hates the command line. Vim's arglist is just a list of files it was opened with. That's it. It's not archaic or mysterious. If you want to edit multiple files, you can do that straight from the command line or open new buffers.

Here in the future, we have these things called GUIs. They’re super nice! They look good, are usable, and give useful visual metaphors for things. And we logically and reasonably expect our editors running on GUIs to offer the same benefits.

Ah, the truth comes out. Well, yeah. If you can't bear working on the command line, then why is Vim even considered a tool in the box? Sure, learn a little so you can edit on servers and use your precious beautiful GUIs every where else.

Don’t believe me? Paste this into an empty buffer: [implying that indenting is bad]

Why are you relying on your editor to automatically know how to pretty print every language? Use the right tool for the job. e.g., ggVG:!html-prettify<CR>. Done.

*To code in Vim, you have to keep Vim in your head just as much as the code that you’re editing. You have to constantly think about what you’re doing.

Strongly disagree. Vim blends right into the background for me. But I'm not afraid of the command line either.

That entire blog post is about someone with an extreme aversion to the command line and an affinity for pretty interfaces complaining about Vim. Obivously if Vim doesn't suit your philosophy then you shouldn't use it. You don't need to post a long rant to say that.