Where vi runs into its limits

November 18, 2008

Despite the fact that I use vi a fair bit, I feel that it has definite limits that make it not my favorite editor. For me, vi's main limits are two-fold.

First, it doesn't use graphics effectively, and I believe that it can't; the core of vi, what makes it vi and not some other editor, is fundamentally screen oriented. You can make vi display graphically instead of in a terminal window, but I don't think that you can make it into a true graphical text editor without winding up with something that no longer feels like vi; the models of operation are just too different.

(I think it is hard to see this because so few people have used text editors that really effectively use graphics. It is a lot more than just using colours and highlighting text selections; the mouse and graphics become essential parts of how you edit, and vi already has how you edit very, very well settled.)

Second, GNU Emacs is better for being freakily super-intelligent about things like code indentation. Yes, you can try to wedge that sort of intelligence into vi (and people have tried), but I feel that it is a bolt-on addition and that doing so is once again pushing vi too far.

(Why GNU Emacs is much better at this is a complicated subject. In my opinion, part of it is that GNU Emacs does not have the two sorts of languages distinction that vi does, where the core is very different from the periphery. Part of it is that GNU Emacs is fundamentally built around an interaction model that permits widespread modification of its behavior, and vi is not.)

Comments on this page:

From at 2008-11-19 01:16:54:

Seems like I'm seeing lots of people speaking negatively of my favorite editor lately...

I like vim not for its massive list of features but because A) its keyboard oriented and B) it only does 1 job and does it well (editing text).

Its indentation does leave something to be desired as does the fact every addon script just never feels natural.


By cks at 2008-11-29 01:03:37:

I tend to feel that every editor has its weaknesses, partly because editing environments vary so hugely. This doesn't make editors better or worse than each other, just different.

(But while I was talking about vi's limits, how on earth did I forget about its problems with editing multiple files at once? I guess it's so pervasive that I just never think about it.)

Written on 18 November 2008.
« Checking systems with RPM verification (part 2)
BitTorrent's file fragmentation problem »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Nov 18 00:49:58 2008
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.