add vertex to an edge?

Is there a way to add a vertex to an edge without splitting the adjoining faces? For example, if I have two squares sharing an edge, and I use Subdivide on the edge, it splits my two nice squares up into 6 triangles. But that’s not usually what I want. Sometimes I want 4 quads, and other times I want two triangles and two quads. Rarely do I actually want 6 small triangles though.

You could duplicate the edge so an edge copy is seperate, do subdivide or put a knife on it then get it as close as you can to the edge where you duplicated it from and click remove doubles. It’s cumbersome though and I recommend you should rather deal with at least some split faces.