vim is perfectly fine if you invoke it with the name of a non-existent file; it will just create it.