Vim (and I believe most text editors) save files by doing (simplified):
rename("myfile", "backup_file")
openat(AT_FDCWD, "myfile", O_WRONLY|O_CREAT, 0644)
unlink("backup_file")
I.e. unlink the old file and create a new one by the same name (with a backup step in between). So the other hard link would keep pointing to the old version of the file.