I've looked at the mailing list archive, and googled. I can't find the answer, and can't believe this hasn't come up before...
In vim, a line like the following in file foo.c will automatically set the tabstop to 4 when editing foo.c:
/* vim:set tabstop=4: */
Something similar exists for emacs.
Maybe it's obvious, and I just don't get it, but there should be a way to do this with vile?
Before I try to invent a way to do this... hasn't this been done before, and what's the solution?