If anyone's interested, I've solved the "re-enter vi at the exit point" problem, based on a clever suggestion of Mark Horton's. The method is a little complex and (late in big files) may be too slow, but at least it's possible. I won't be net-posting it, as I think it can be improved. --dmy--