[TxMt] Re: How can I add a sequencial number to this Find/Replace?
jgalt
jgaltusa at gmail.com
Fri Feb 20 19:14:19 UTC 2015
Thanks Graham, that worked great but I am having one problem. The first
line of your formula gets placed into my first placeholder.
Example: <PortalObj portalFlags="16" numOfRows="1" initialRow=$ seq 16 32>
On 2/20/15 9:41 AM, "Graham P Heath" <graham.p.heath at gmail.com> wrote:
> You can combine Multiple Carets and Copy + Paste to achieve this easily.
>
> Find a list of the numbers you want to use, I assume you’re capable of
> generating the list in some way, but I like using the `seq` command in the
> terminal such as:
>
>> $ seq 16 32
>> 16
>> 17
>> […snip...]
>> 31
>> 32
>
> Note: It is important that they be separated by new line characters.
>
> Copy this list.
>
> Select your first placeholder: “##"
>
> <PortalOBj portalFlags="16" numbOfRows="1" initialRow=“##”>
>
> Press Control + W, this selects the next placeholder. Repeat until your
> selection contains all of your placeholders.
>
> Paste.
>
> Graham P Heath
>
>
>
> On February 20, 2015 at 8:29:30 AM, René Schwaiger (sanssecours at f-m.fm) wrote:
>
>> Hi jgaltUSA,
>>
>>> > On 20 Feb 2015, at 9:50 , jgaltUSA <jgaltUSA at gmail.com> wrote:
>>> >
>>> > I am a newbie to textmate and I am trying to perform a find and replace. I
>>> want to replace the matched text with a sequential number.
>>> >
>>> > Here is my current replacement string: $1##$2
>>> >
>>> > How can I replace the ## with a sequential number?
>>
>> I do not think that what you want is possible using only regular expressions
>> and “Find & Replace”. It is possible and not to complex using a programming
>> language. The following code does what you want:
>>
>> #!/usr/bin/env python
>>
>> from re import compile
>> from sys import stdin, stdout
>>
>> regex = compile(
>> """(<PortalOBj portalFlags="16" numbOfRows="1"
>> initialRow=")\d+(">)""")
>> index = 16
>>
>> def create_subtitute_function():
>> def substitute(match):
>> global index
>> replacement = "{}{}{}".format(match.group(1), index,
>> match.group(2))
>> index += 1
>> return replacement
>>
>> return substitute
>>
>> text = regex.sub(create_subtitute_function(), stdin.read())
>> stdout.write(text)
>>
>> I attached a bundle which contains a command that uses the above code. To
>> install the bundle just double click it. You can apply the substitution on
>> some text by pressing the key combination “^⌥⌘R”. Since the above is my code
>> I would be careful when you use the command though :).
>>
>>> > For example, I want the first sequential number to be 16.
>>> >
>>> > Here is a screen capture:
>>> >
>>> > Thanks!
>>
>> Kind regards,
>> René
>>
>> P.S.: You can create a screenshot of a single window by using the key
>> combination “⇧⌘4”. After that just hit “Space” and a click on the window you
>> would like to make a screenshot of. This way you do not need to crop the
>> picture.
>>
>>
>>
>> _______________________________________________
>> textmate mailing list
>> textmate at lists.macromates.com
>> http://lists.macromates.com/listinfo/textmate
>
>
>
> _______________________________________________
> textmate mailing list
> textmate at lists.macromates.com
> http://lists.macromates.com/listinfo/textmate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate/attachments/20150220/f870c319/attachment-0001.html>
More information about the textmate
mailing list