On Thu, Feb 17, 2011 at 10:31 AM, Andrew Long <andrew.long@mac.com> wrote:
Thanks Andy and Israel.... this works great... and so much fun!
Vim uses '&' as the $0 string in your question. So,
On 17 Feb 2011, at 16:05, DK wrote:
> This should be straight forward but I can't readily find an answer:
>
> If I have a search:
>
> :%s/search_text.*more_text/replace_text/gc
>
> How can I access the matched text (note above the regex in the
> middle).
>
> For example I would want to do something like (coming from TextMate I
> could use the $0 value to access the match and use it in the replace):
>
> :%s/search_text.*more_text/replace_text$0more_replace_text/gc
>
> Where $0 would be the match and I would be appending to it.
> :%s/search_text.*more_text/replace_text$0more_replace_text/gcbecomes
> :%s/search_text.*more_text/replace_text&more_replace_text/gc
More generally, if you want to apture parts of a match, use \( & \) to surround each part, then you can substitue '\1' (or some other number) to insert the matched substring. Fpr example:-
:s/\(abcd\)\(efgh\)/\2\1
reverses the order of the substrings 'abcd' and 'efgh' in the current line.
Thanks Andy and Israel.... this works great... and so much fun!
Regards, Andy
--
Andrew Long
andrew dot long at mac dot com
--
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