Hi.
I very like VIM editor, its concept is just awesome and when you get used to it your efficiency becomes over 9^1000. But VIM has issues:
-
Single threaded. Stuff like CtrlP or NeoComplCache are running in foreground and you can't do anything until they finish.
-
Lacks API. Only system() is accessible, you can't establish a connection to remote host (socket), or spawn some process and read/write to it (pipe). One must use one of languages that has bindings which is not portable (its not guaranteed that potential users have this language enabled) and is a pretty hacky thing in general.
-
Very IMHO: vim-script is just another example of how to don't write languages: limited, spontaneous API (functions were added on occasion, they're not systemized), OOP is really wierd and rarely used, no namespaces... One can of course use bindings for other languages (Python, Ruby, Perl, Lua, ...), but they all have quiet limited API and you still have to mess with vim-script.