Sam isn't graphical there is sam and samterm which sends commands to sam. sam itself is an ed style line editor, where the concept of a line is replaced with a dot. vis allows multiple dots.

It's worth noting that a lot of the text editing done in the vi family are just calls to ed with different ways of doing selections.