+python3 support for a python based development plugin. That sounds completely reasonable.
About Vim plugins and human behavior
Generally, speaking humans want things to appear simple and "just work". When it comes to Vim plugins, Vimmers typically want plugins with no or very few dependencies. Basically it should be as simple as a
git clone and/or a few lines in their
vimrc file. The more a plugin requires to be configured in order to work initially or requires some dependency is just adding a barrier to entry.
A great example of this behavior is CommandT vs CtrlP:
- CommandT uses Ruby and C to accomplish fuzzy finding
- CtrlP on the other hand is pure VimL/Vimscript
- CommandT is typically faster than vanilla CtrlP
Now you would assume CommandT to be more popular especially since it came out first, but that is not the case. CommandT has approximately 2000 users and CtrlP has approximately 20,000 users. In my opinion CommandT's requirements cause a barrier to entry. You simply cannot
git clone your vim dotfiles and be up and running on a new machine with CommandT like you can with CtrlP.
That is C + Ruby not
+python3. There is built in support for Python. You are absolutely correct. An example that proves this point would be Gundo (~5,000) using
+python vs undotree (~1,000) which is pure VimL. I would argue, in my personal opinion, that undotree is less well known than Gundo (first to market) and the fact that many are using undotree may very well have to do with it being pure VimL vs python.
Good enough for me, I will just use Python for my Vim plugin!
At the end of the day you have to know quite a bit about Vim and some VimL to do Vim plugin in Python. The
vim module is much better than it was before, but still requires a fair amount of VimL eval-like situations:
text_width = vim.eval("&tw")
You will also need VimL to "bootstrap" the python portion of you plugin. So there is no escaping VimL, just reducing the amount.
If you have a need for
+python3 then certainly use it. It sounds like you have a wonderful use case for python support. However in my opinion you will not completely escape VimL/Vimscript. I would recommend doing Vim things in VimL and use python for thing that are hard/tricky/slow to do in VimL.