For him to write the vim binding, he must have tried the vim editing functions, because you can't write something you don't know.
Without putting words in the developers mouth, I would note that there is a difference between reading the docs, or trying some functions and being an expert in all the functionality of an editor.
If he tried the functions, then why some of the function not working properly.
Because being only a single developer who doesn't use Vim and developed the plugin for interest there is no reason for him to implement everything, and its his time so he can use it as he sees fit. As he is not an expert some things he may not know about, some he knows about and has listed as unimplemented, and some as possibly unimplementable in Geany.
There have been a number of requests over the years for Geany to work like Vim, and while most of us say "over my dead body" the plugin developer decided to try and see how hard it would be. As he said in the [webpage](https://plugins.geany.org/vimode.html) for the plugin, "After I started writing the plugin, I soon realized that in fact, I am writing a new editor", so a lot of work for a single person who doesn't use Vim and not surprising its incomplete.
@howdev as I said there have been a number of queries about Geany "working like Vim", so I have a question for you. I have always wondered what is it about Geany that makes Vim users want to make Geany work like Vim instead of just using Vim itself?