If you search for "vim", you'll find there's already an issue: https://github.com/godotengine/godot/issues/17213 - the latest comment is about a year old and says:
> The current implementation of the text field looked pretty much straight forward and exchangeable. So at anyone reading this, feel encouraged to grab this issue! :-)