On 2009-01-30 07:27 (UTC), Spencer Collyer wrote:
> ----------
> :1,$s/.*/\=printf("mv & sub%03s", line("."))
> ----------
>
> but then I discovered that '&' does not get expanded to the search
> string in functions. Checking the help confirms this fact.
You can use submatch(0) function; it expands to the whole matched text.
%s/.*/\=printf('mv %s sub%03s', submatch(0), line('.'))
To make it more robust you may want to shellescape() the input filename:
%s/.*/\=printf('mv %s sub%03s', shellescape(submatch(0)), line('.'))
(Warning: these examples are not actually tested. They should work,
though.)
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---