Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why Atom Won't Replace Vim (medium.com/programming-ideas-tutorial-an...)
3 points by Ovid on May 15, 2014 | hide | past | favorite | 3 comments


Good article. One quibble:

"But of course, Vim isn’t perfect. ...[Y]ou need to install a half-dozen third-party plugins (and a third-party plugin manager at that) to get basic functionality working."

I've been using vi and now Vim since 1980. I don't use any third-party plugins, so I don't need a plugin manager. I do almost no customizing. I have much more than "basic functionality" with a bare-bones Vim install. Why? Because Vim is installed on pretty much every *nix system. When I ssh into a server I can't afford to be helpless because my favorite plugins and scripts and key bindings aren't there.

I can skip hours of "on-boarding" because I'm happy to work with bare Vim and other command-line tools on OSX or Linux. I don't need to spend a day getting Eclipse configured or setting up a bunch of other stuff just to edit and build code.

Emacs is almost, but not quite, as ubiquitous as Vim. I use Vim because I learned vi a long time ago and have never wanted to put that much effort into learning another text editor.


I cut my teeth (and watched them bleed) on vi in the mid 1980s. The first few weeks were horrible ... then it got better. And now virtually anything else is painful.

Since then I've used other editors and word processors: WP51, MacWrite, AmiPro, WordStar, the DOS editor, MS Word (from Win3.11 through Office 2000 or thereabouts, little since), the VAX/VMS and AXP editors EDT and EVE, Notepad, MS Write, the IBM TSO/ISPF editor, StarOffice and its successors (OpenOffice, NeoOffice, LibreOffice), Abiword, the KDE editors (whose names I honestly cannot remember). The andrew editor (just long enough to exit it and install vim).

And, somewhere in the middle of all of this, in the late 1990s, finally my first exposure to emacs. It was actually my primary productivity environment for a number of months, and the three-window mode (stdin, stdout, stderr) for code, reports, and logging was actually pretty slick.

But it wasn't installed on the next set of systems I was working on (and the boss was an idiot, something I should have clued in on far sooner but didn't). And the skills atrophied.

Meantime I'd installed my first Linux system with vim and, hey, that worked.

I also keep to a pretty vanilla configuration though I've got a .vimrc file with some settings in it -- a bunch of spelling corrections, syntax highlighting, and a few various settings. The whole plugins thing seems to have emerged while I wasn't paying attention, and so far I've not used any, though not out of any fundamental objection. The baseline is good enought.


The atomic "noun verb" structure of vim's commands is in fact highly versatile. For me, being able to operate on, search across, or navigate my text by structure is absolutely key.

It's not far from the Unix philosophy in general -- we get simple tools and send nouns (data) through them on pipes. Not always, but frequently. I recognized this distinction particularly from working on other systems which didn't have this facility: VMS, MVS, and of course Microsoft and Apple systems prior to OS X.

You rarely have the specific tool you want, but you can readily build it up out of components via pipes and some shell scripting. As opposed to the other systems where you rarely have the specific tool you want ... and you need a systems programmer to write it for you.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: