marks are fairly useful and easy to define, though traditional vi doesn't keep them when swapping buffers, unfortunately. ... that's one of the main reasons why I've upgraded to vim. That and v, and multiple buffers visible at the same time.
Just for the record, to not confuse the OP, vi in Openbsd is nvi. Nvi can display multiple buffers (they are called screens) splitting the screen. Nvi keeps the marks between screens when they are views of the same file. About v, I mark the starting position with ms. Then move around and use `s`` to see what I have. regards, adr