> This happens when the mapping is defined, you can
> see it in the output of ":map <F8>".

Of course, that clarifies it, thanks.

There are some very useful examples in Vim help but a new vim9examples.txt 
page would be good with some longer script examples showing how things 
should be done. I've just written something to select multiple 
non-contiguous lines using the fabulous text properties and it was a bit of 
a challenge although obvious in retrospect.

John

On Tuesday, February 8, 2022 at 10:03:28 PM UTC+11 Bram Moolenaar wrote:

>
> John Beckett wrote: 
>
> > I can't find any documentation on precisely this point but I inferred 
> that 
> > "<SID>" in the mapping below should not be needed. I hoped that would be 
> > true from wording (at :help vim9-differences) like the following, 
> > admittedly for an expression mapping. If <SID> is intended as required, 
> > perhaps that could be mentioned in the Vim 9 doc. 
> > 
> > "When defining an expression mapping, the expression will be evaluated 
> in 
> > the context of the script where it was defined." 
>
> This mentions "expression". The evaluation can be done in the right 
> context, because it happens before the resulting text is put in the 
> typeahead buffer. For a normal mapping, the RHS is put in the typeahead 
> buffer as-is. There is no way to attach the context of the mapping to 
> it, it's just text. 
>
> > vim9script 
> > def Toggle(): void 
> > echo 'TOGGLE' 
> > enddef 
> > def Init(): void 
> > nnoremap <buffer> <F8> :call <SID>Toggle()<CR>j 
> > echo 'Press F8 to toggle selection.' 
> > enddef 
> > command! Init call Init() 
> > 
> > To test, save the above in a file then enter ':so %' and ':Init'. Then 
> > press F8. 
> > 
> > If "<SID>" is included, pressing F8 shows "TOGGLE". Otherwise I see 
> "E117: 
> > Unknown function: Toggle". 
>
> That's correct, the <SID> part is changed to <SNR>123_, the script 
> number is prefixed. This happens when the mapping is defined, you can 
> see it in the output of ":map <F8>". 
>
> -- 
> hundred-and-one symptoms of being an internet addict: 
> 26. You check your mail. It says "no new messages." So you check it again. 
>
> /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ 
> /// \\\ 
> \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// 
> \\\ help me help AIDS victims -- http://ICCF-Holland.org /// 
>

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/b67f0710-3b50-4ea2-932b-2b6f4a249266n%40googlegroups.com.

Reply via email to