How can you take over a shell session?

For example, if I were to be accessing vi or another editor from work,
then go home and ssh into my work machine, can I take over the previous
shell session and pick up where I left off?
Is there something out there that can do this or a way to manuever this?