On Sun, September 30, 2012 15:41, Andy Wokula wrote:
> Am 30.09.2012 14:42, schrieb Bram Moolenaar:
>>
>> Christian Brabandt wrote:
>>
>>> Bram,
>>> attached patch implements undo when doing :s/.../.../gc
>>>
>>> This has been requested recently in
>>> https://groups.google.com/group/vim_dev/msg/9930ef0f86421814
>>>
>>> And I think, I saw a request like this on the sf.net bug tracker, but I
>>> can't find it right now. Additionally, I also added using Ctrl-L for
>>> redrawing the screen as I found this useful.
>>
>> Yeah, this is useful.  But also tricky, if the undo is done wrong then
>> the text may get messed up.  Can you think of situations where something
>> could go wrong?  And it would be nice to have tests for that.
>
> What about a replacement function that edits text?
>
>
> com! InsaneSubst :%s/\w\+/\=InsaneEdit(submatch(0))/
>
> func! InsaneEdit(str)
>      $put = a:str
>      return '('. a:str. ')'
> endfunc

This works, although I would personally don't think this is very
reasonable. :%s will not consider the newly added lines (it determines
the range before starting the command) and I have seen strange effects
when doing a replacement and the function changes the text directly
(e.g. E315 ml_get: invalid lnum...)

regards,
Christian

-- 
You received this message from the "vim_dev" 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

Raspunde prin e-mail lui