Oh my, what's all that glass doing on the floor!

On text editor bigotry —

I have to say that as a Free Software developer, one thing I find very disappointing is people being needlessly hostile to a project of mine, and using incorrect reasoning to substantiate it. Nine traits of the veteran Unix admin is one of those gems.

Let me first say that I actually like vi[m] quite a bit. I’d even agree with people who say you can’t be a true Unix admin without knowing vi. Note I said knowing, not using for every task. On any Unix machine made before the turn of the century, you’re going to want to know vi to get around. Emacs I never got around to using; many of my coworkers swear by it. It looks like a fine program. I feel no need to needlessly hate on it just because I wrote a competing program

Originally I used elvis because it’s what the Slackware version I started with (2.3 IIRC) included; see trait number 4 from the article. I like vim as well. It’s a great program. It’s also very portable, as are emacs, pico and nano.

What vim is not however is ‘svelte’. It’s a pretty big boy these days, as it has a lot of features; that robustness and portability does have a trade-off.

How big is it? On my now ancient ia32 system it’s 1.5MB. Yes, megabytes. Too big to fit on a floppy disk by itself; remember those? Good times.

-rwxr-xr-x 1 root root 1758932 2009-09-21 07:24 /usr/bin/vim.basic

emacs is a somewhat healthier 5MB. As the author mentions, emacs does have a substantial feature set as well.

Nano, however, is just a tad smaller than vim. And by a tad I mean an order of magnitude smaller:

-rwxr-xr-x 1 root root 170040 2011-03-02 22:46 nano

That’s right, the bloated, easter-egg-including version of nano is 170K. So fine, let’s compare the
vim-tiny size as that’s probably a more fair comparison:

-rwxr-xr-x 1 root root 687572 2009-09-21 07:23 /usr/bin/vim.tiny

650KB. Better, but still substantial. In fact, there are emacs implementations (and otherwise great editors) that are also smaller than vim-tiny:

-rwxr-xr-x 1 root root 275724 2009-06-23 08:28 /usr/bin/jed
-rwxr-xr-x 1 root root 171736 2008-05-11 12:11 /usr/bin/jove

This actually isn’t a fair comparison either; the tiny
version of vim does not leave out its excellent on-line help system and probably a few features not absolutely essential for a ‘tiny’ vi implementation. In fact the full version of good old elvis is only 600KB. When we start paring that program down, its a little closer: elvis-tiny is 76K to nano-tiny’s 50K.

The point I’m making is don’t go around saying that vim is a sleek and sexy sports car nowadays. Its a great, feature-rich and rock-solid editing environment. It’s just not skinny, bony or gaunt, so don’t pretend it is.

Also I’m tired of this ridiculous ‘real sysadmins only ever use vi’ mantra. Now tell me we should only use the console even on our desktops, as X is just too cushy for a sysadmin and makes you weak over time. This is the computing version of that guy, you know, the one who’s really into cars and always is going on about how you can brake better with your foot than ABS could ever do. It’s 2011 for pity’s sake. Sysadmins coming out of school since 2000 have grown up on editors besides vi, they find the learning curve needlessly difficult and they had alternatives; they’re not bad people, they’re syadmins, i.e. they’re lazy.

Hate on other text editors if you want. Just don’t do it with incorrect information.

Categorised as: Uncategorized

Leave a Reply