Hacker News new | past | comments | ask | show | jobs | submit login

You can write Vim plugins in other languages as well.



Technically true, but practically worthless.

Python example:

  import vim

  # Show current directory in Vim
  cwd = vim.eval('getcwd()')
  cmd.command(':Explore %s | redraw' % cwd)
Ref: https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-...


This is a little unkind. Vim has actual APIs for most things you'd want to do. Ex: https://github.com/camgunz/u300Blog/blob/master/u3b.vim#L307

It's not complete coverage, but it's not "the API is just a thin Python wrapper around Vim commands as strings" as your comments suggest.


It looks to me like more than half of that is a thin wrapper around strings.

I'm not trying to be mean or mislead. I've used vim for decades, and emacs too for that matter. My favorite editors by far.


Haha yeah I'm not trying to be shitty with you.

Vim gives you buffer, window, cursor and range, plus eval and command. The eval/command stuff is a "shim", insofar as you have to wrap them yourself if you want more programmatic access; like you'd have to do `def getcwd(): vim.eval('getcwd()')` But for a lot of what you want to do, you're messing with buffer/window/cursor. I wouldn't call it a full-featured scripting API, and certainly Neovim's is better, but your posts suggested all the scripting API was was just an entry point to ex commands. There's a lot more than that, to the extent that it covers most of what you want to do.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: