You may want to check these resources I published, too:<p>* Why, oh why, do those nutheads use vi?
<a href="http://www.viemu.com/a-why-vi-vim.html" rel="nofollow">http://www.viemu.com/a-why-vi-vim.html</a><p>* Graphical vi/vim cheatsheet & tutorial
<a href="http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html" rel="nofollow">http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial...</a>
Pet peeve:<p><pre><code> There may be a steep learning curve ...
</code></pre>
Can someone explain the axes of the graph in which "steep learning curve" equates to "takes a long time" ??<p>I can.<p>It requires that you put knowledge on the X-axis, and time on the Y-axis, which is completely at odds with the usual way of doing things.<p>Like many idioms you have to read this as meaning one thing even though it says another. You have to read this as "it takes a long time," even though that's not what it says.<p>Language - I don't know how it works.<p>And sometimes it doesn't.<p></rant>
Good lord!<p>The main reason to learn <i>vi</i> is that it is installed by default on so many systems, including most ancient Unixes.<p>When your task is to edit a config file and you don't have time/permissions to install your editor of preference.... <i>vi</i> is the only choice.<p>Emacs and others may not be present on a system when you really need it.<p>A basic competence in <i>vi</i> is essential if you're going to deal with Unix. Even if you prefer Emacs (like me) or other myriad tools.
From what I've seen of vi (mainly as a result of editing files directly on a server via ssh), it seems like an efficient text editor, undoubtedly. But what about if you're constantly bouncing between different files in a project? Like a Rails project, for example, with its many different files for models, views and controllers?<p>I.e. how good is it at handling projects, as opposed to just files?
Today I learned that Vim began on the Amiga.<p><a href="http://cd.textfiles.com/fredfish/v1.6/FF_Disks/571-600/FF_591/Contents" rel="nofollow">http://cd.textfiles.com/fredfish/v1.6/FF_Disks/571-600/FF_59...</a>
Short article, but voted up simply to voice my love for Vim.<p>It took me a long time to finally get comfortable with Vim. I would load it up every few weeks, learn a couple of commands or things like using split windows and then get frustrated/held up enough that I would go back to Textmate.
After going through the process for a good few months, I then somehow managed to make it through a day without getting frustrated once. Then on the second day I literally felt like I was flying through my code. TBH I have never felt this productive in an editor before.<p>I would constantly read people saying that watching someone in Vim is like a work of art and never quite understood what they meant. But now I do. The speed at which I can navigate through a file, move text around, move around my project. Even simply never having to move my hands away from the home row makes me feel more focused on what I'm currently working on.
I'll sadly admit that for most quick file editing I still use pico/nano (which is installed on most every system that I've touched in the past 3-5 years). I used emacs around 1998, but at the time it was too big I felt and had too much power. vi was just damn confusing. When I saw people using it, it looked amazing, but I could just never get the handle on it.<p>When I'm editing big files/coding I use Cyberduck to SSH/SCP files over to TextMate, which works well most of the time. The only time it doesn't work is when I need to sudo edit that file, because Cyberduck can't sudo.
For those of you who use Netbeans there is jVi ( <a href="http://jvi.sourceforge.net/" rel="nofollow">http://jvi.sourceforge.net/</a> ) a fairly faithful Vi emulator.<p>Also, Komodo Edit ( <a href="http://www.activestate.com/komodo_edit/" rel="nofollow">http://www.activestate.com/komodo_edit/</a> ) is a modern free, multi-platform editor which has nice Vi support.
What I'm trying to figure out is whether vi/emacs, and the Unix command line, is actually still a relevant way to do development.<p>You see, cults that are divorced from empiricism _do_ exist in CS; I'm sure of this. But I'm not sure of whether people who feel such strong love for the command line belong to one or not.<p>As a pure text editor, Vim seems really nice. However, once I start wanting to do what I take for granted as fairly basic things, I want the mouse and graphics more and more. For example, say I just want to have program output, a couple of code listings, and a visual debugger all on the screen at once across multiple monitors with integration between them. People swear that the Unix prompt is better anyway. However, they all seem to be programmers whose careers peaked in the 70s or 80s too! I'm a Unix neophyte but my first impression in trying to do C programming in vi is that without all the comforts that something like Visual Studio gives me, <i>it just sucks</i>. I'd love to be proven wrong actually, but the people on the other side of the argument also seem to be dinosaurs (albeit genius dinosaurs) who don't even think that trace-through debugging is a good thing. Heck, even Linus lost that fight.<p>Vi-style editing inside a modern IDE like Eclipse or Visual Studio does seem interesting though.
I tried it. I tried vi, vim, gvim.<p>I now use a number of editors and IDEs. Vim is not not of them. I launch it once in a while, just so I would not forget how it feels (and would not forget how to :wq). That's all.<p>As far as the holy flame war on editors, I do not have much to say about it, and will avoid reading much about it.
Is it worth learning how to use vim (well) if I already feel fairly comfortable in another text editor? The author only touched on speed and how you're more "involved" with the code, which were vague enough that I was left unconvinced.
Oh please, here we go again. Stop advocating your love for that 30 year-old piece of software. Please. Stop it. You don't hear ME expressing my love for Eclipse on a daily basis, now do you? Seems like you have some convincing to do?<p>Plus, I'm not buying it. If it's so great, why do you even have to market it? Wouldn't it just sell itself? But no. Instead we get these "VI is great" vs "Emacs is better" discussions every-f*cking-time. And I've had it. Just use your old, old, old piece of software, be happy about, and stop trying to convince me.