In vi/vim to exit-with-changes, you only need
actually means write to disk and quit-no-changes; but because you've already written to disk, using q is fine.
In any case, visudo is basically vi with a fancy frontend to check sudoers file syntax.
If you know what you're doing, any editor will do.
iirc, there's also vipw, vigr for the same reason.