O Vim é supostamente para manipular isso corretamente por padrão. (: help backupcopy)
Por padrão, em plataformas não-unix, backupcopy é definido como "auto". Ele normalmente renomeia o arquivo e grava um novo arquivo alterado quando você salva, mas deve modificar o arquivo original se o arquivo original for um link ou tiver uma bifurcação de recursos, etc.
Várias possibilidades:
- Sua versão do vim não reconhece que o arquivo é um link simbólico.
- Você definiu backupcopy ou uma variável relacionada (breaksymlink?) para substituir o comportamento padrão.
Eu ficaria surpreso se for 1, já que você está lidando com uma versão recente do vim. Isso acontece se você tiver um .vimrc vazio?