Question 1: The editor gives hints when it knows the type. You can use static typing. For the demo, you'd want something like var mob: Node2d = mob_scene.instantiate()
. or RigidBody2D
? Depending on what it actually is.
I'm not sure if there is a vim binding plugin. Editing in an external editor without integration works fine, you just have to confirm to reload when you focus godot.
For neovim integration you'd have to use the external editor feature. You just set up a command to run with the proper args when you choose to edit a file. In practice you set up neovim to listen over a pipe, and godot sends the command to open a file and go to a line. It's not trivial to set up but it's possible.
This tutorial seems good: https://simondalvai.org/blog/godot-neovim/
For beginner godot tutorials, I recommend Brackeys: https://www.youtube.com/playlist?list=PLPV2KyIb3jR7ecat0FBEMv2EZgsDg6Wcv