Eu realmente descobri isso sozinho. Isso é suportado no vim nativamente se você usar a opção --remote. Ex:
gvim --remote foo.txt
Você também pode especificar um nome de servidor:
gvim --remote foo.txt --servername foo
Eu adicionei a seguinte função ao meu .zshrc (mas também deve funcionar no bash) para tornar isso um pouco mais fácil:
function vs() {
gvim --remote-silent $@
}
Dessa forma, tudo que você precisa digitar é vs <filename>
.