27 comments

[ 2.1 ms ] story [ 86.6 ms ] thread
Christ, am I the only person getting sick of the unending Vim evangelism here? It's a good editor, I use it a lot. So, apparently does the rest of HN, because not a day goes by without some Vim evangelism blog post on the front page. Is it really so terrible if there are a few holdouts on HN using Emacs or whatever? Does it truly destroy your life?
If you read the whole post you'll see that there is a lot of respect given to emacs, which I use vs. vim. I agree though- vim is like a religion lately, not just on HN, but everywhere there are developers around that use OS X or *nix.
Although I use Vim on daily basis, I have to agree with you, HN is getting littered with Vim evangelism.
Vim is a drug.The opium of the developer masses... I need a hit right now!
I'm of two minds about this.

a) Yes, there are quite a few articles about vim that show up on HN's front page.

b) I am a long time -- 20 years now? Really? Gah! -- vim user, and some of the articles have shown me things that even I didn't know.

Insofar as emacs is concerned, I'm not sure why you are mentioning it. It is a good, respectable editor.

A complicated bit of text editing software if after 20 years of daily use you're still learning significant new tricks. Statements like yours are why vim seems completely unapproachable to me.
Unapproachable? You don't need to know every single command and the entirety of Vimscript to use the editor. Do you know every function in every language/API you use?
The fact that someone could use it for 20 years without knowing everything makes it seem more approachable to me. It shows that you don't need to know everything, or even most things to be productive with it.
It may seem that way, but you need only learn one command per day.

Start with `i` for insert mode and `<ESC>` to return to normal mode. and `:x` to save and quit.

From there, when you want to know what a command does, go to normal mode and type `:help command` Do this once per day. Maybe twice if you feel adventurous. Use `:helpgrep` if you need to find something specific and don't know where to begin.

You will feel like you've been missing out.

I appreciate the good Vim articles, from which I've learned some vastly useful stuff. The semi-literate, redundant articles such as this one? Not so much.
The nice thing about having new Vim posts every week or so is that I've always learned something new about it each time, whether it's a new shortcut or plugin or whatever. The depth (and appeal) of vim is such that you'd never really stop learning how to use it.
I can't think of a week in the last 5 years that I haven't seen at least one vim article on HN. It's just part of the zeitgeist here. I do find that as I keep getting better at using it though, the articles no longer really cater to me. It would be cool if more articles discussed deeper hacks than the standard "i like vim - modal editing FTW" or "use this list of plugins {bufexplorer, <language pack>, NerdTree, taglist} to make vim an IDE for $language". I think these articles are important and good for a lot of people to get the exposure, but, I would like deeper stuff too for my case :)

Keep in mind that any community or group will have a certain amount of echo-chamber quality to it, if it is growing or churning (which usually happens). The new folks need to see this stuff to understand community norms, and this is a pretty natural way for transmission of that. I work at a university, and I used to feel the same way, about how every fall we would have to go over basics yet again, but then realized that this phenomenon is how we make new grad students into regular grad students. (and I'm pretty sure the getting sick of it step is a requirement for the Ph.D.)

I dunno. When I started lurking on HN a few years ago, I used MSVC on Windows. Now I'm an OSS advocate with the standard issue MacBook Pro, a FreeBSD desktop, my code lives on GitHub, I'm involved in a startup and guess which editor I use?

How did that happen? The HN community decided what they liked and continued to reinforce it with articles, blog posts, tutorials. And if the next generation of HNers are to have a similar experience, I don't think that evangelism of such things is a bad thing. Sure, it's boring for you, but we're getting new people here every day.

Want to sell them emacs instead? You can. These choices aren't set in stone, and I'd argue that HN is more or less pragmatic. If something becomes inconvenient to use, cue the posts about alternatives.

I've posted about my favorite editor (acme) in the past, but rather than trying it, HNers mostly just echo-chamber it into oblivion: "I have touch the mouse? Oh my god I will literally not be able to write a single line of code now! Vim FTW!"

(Edit: I enjoy vim. I prefer it to Emacs. I have sometimes found interesting things in these articles. I just think there are too many, and too much zealotry in the community)

I've found myself trying to get more productive when I'm "forced" into Vim, and mostly failing, and reverting to Sublime Text 2.

As a result, I've looked at plenty of Vim evangelist links on HN looking for inspiration in learning more about productivity with the editor, and honestly?

This is one of the first that has given me some real insight, some workable examples, and something to go on.

It does have a cheerleader tone to it, definitely, but really? I wish more "advocacy/evangelism" posts on HN had this flavor (and substance) to them.

As a new vim user, I've found that learning vim is like learning to play an instrument.

You are constantly challenging yourself to move your hands and fingers in the most efficient way possible. It is incredibly frustrating up front but then you occasionally find yourself elevated and doing something that you had previously thought impossible.

Single key commands strung together make a melody. Editing a document is like playing a song.

Great vim practitioners can elegantly keep tempo and flow with advanced technique and focus.

Why Vim?

1. Because it's installed everywhere.

2. There is no 2.

Except it's not.

vi is installed everywhere.

Except it's not.

I used to log on Windows servers on a daily basis that had only Notepad.

vi is an alias for vim in most modern systems
Even if I had to compile it myself in every box I had to work on, I'd still use it.
One reason that sounds silly, but is totally legitimate- When your Vim-fu finally gets better than your regular text editor-fu, it FEELS great, and its FUN.
The same reason for using any editor: it helps you get things done. Other editors also help you get things done. A lot of these "You should use VIM because of x, y, and z" posts seem to follow a standard pattern: claim that VIM is good, give examples of "how easy!" it is to delete or paste text, show some advanced features ("ooh, macros!"), and then claim that it's the best editor. It's a good editor – I use it, too – but any editor that lets you be as productive is just as good.
Exactly. That's more or less the sentiment in the conclusion to the article:

"If you are using Emacs, keep using it.

Hell, if you are using Java you should probably keep using Eclipse. Similarly you probably shouldn’t ditch Visual Studio and hack your C# code in vim. Emacs and IDE’s are useful – they have tools that will make your life easier. The IDE’s don’t have vim’s raw text manipulation power, but they make up for it by having great integrated debuggers, GUI building tools and etc. But if you are hacking in Perl, Python, PHP, Ruby or something like that, vim is usually a good choice.

Is it the best editor in the world? I don’t know. I guess it depends what you are doing. The bottom line is that you should choose a tool that fits the particular problem you are trying to solve. Not all problems are nails. If you try to apply a hammer to a philipsh-head you are probably gonna screw things up somewhere down the line. But vim is a great editor and you should definitely give it a chance."