Sunday, January 30, 2011

Re: Access vim command from the lua end WAS: How do the default key commands work

> It's not about remapping. I'm writing a vimscript in lua. In a function I need
> the position of the opening and closing bracket. So in vim I would execute »%«
> twice. Than I have both positions. If there would be functions for the basic
> comands I just would execute the corresponding function. But apparently this
> is not the case.
>
> So I rephrase my question. How to access basic vim commands (here: %) from
> inside lua? How to access an arbitrary vim function from inside lua?

Use the :normal command (probably with ! to avoid using user mappings).
E.g.

:lua vim.command"normal! %"

Then to get the cursor position, you can use the getpos() function. E.g.

:lua mypos = vim.eval"getpos('.')"

Or something like that (I don't know Lua, and don't have the interface
compiled in, so haven't tested; but this is the idea).

Smiles,

Ben.

>
> vim 7.3 compiled with lua interpreter
>
>
> Regards
> Marco
>
>

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments:

Post a Comment