-1

I'm wondering why vim is implemented using vimL? Is there other version of vim which is implemented with other modern language like python, javascript?

I know javascript and python, I just don't want to learn vimL, it looks too complex to me... sometimes I want to write a plugin for myself only find I need to learn vimL first.

I know vim somehow support writing plugins using python or other. But I just want to know if there's already a "clean" version that completely implemented using modern programming language?

closed as primarily opinion-based by Herb Wolfe, Alex Kroll, statox Sep 18 '18 at 6:59

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    You can try snake as an "alternative" to VimL. I haven't used it though so I cannot say much about it. All the VimL required is to setup your vimrc file to load the plugin. The rest is python. – tokoyami Apr 28 '16 at 7:05
10

Vim is not implemented in VimL. Vim is implemented in C. As is NeoVim, a fork. Vim's runtime features are written in VimL, but the core is C. There's no Vim implementation I know of that's in JavaScript.

To write plugins in Vim, you have a few choices aside from VimL:

You can get away with minimal knowledge of VimL, if you know one of these languages.

If you don't like it, try another editor with Vim keybindings, like Atom (which is written in JavaScript), or maybe Sublime Text. But plugins written for Vim won't work there, so good luck!

  • 6
    Your answer if perfectly right, I just want to mention that someone did release a clone of Vim written in Javascript that you can try online it is far from being as complete and functional as the original vim but that exists :-) – statox Apr 28 '16 at 5:27
  • 3
    Beside, I'd add that VimL is extremely close to what vim offers through its command line. All vim variables, functions that can be used with :substitute, etc. are in VimL. – Luc Hermitte Apr 28 '16 at 8:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.