Community
    • Login

    Is there a quick way to paste big text to the right?

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    14 Posts 3 Posters 8.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Hoakin SingerH
      Hoakin Singer
      last edited by

      @Claudia-Frank said:

      strg+x

      Hello Claudia.
      Thank you for your time!
      It did work,but the result wasn’t as i expected,the formatting of the text needs rework,so i guess NPPP isn’t good for what i want to achieve. Will try on a image editor.
      Thank you again , i hope and wish to you the best.

      Singer

      1 Reply Last reply Reply Quote 0
      • Claudia FrankC
        Claudia Frank
        last edited by

        Hi Singer,

        if there is a repeating pattern in how you want the text to be modified then
        it might be that there are other possible solutions.
        Can you show us an example what exactly you try to achieve?
        But if you already found a solution with another program than
        I’m fine too. ;-)

        All the best to you as well.

        Claudia

        1 Reply Last reply Reply Quote 0
        • guy038G
          guy038
          last edited by guy038

          Hi Hoakin, Claudia and All,

          Hoakin, I think that we can use some regexes, in order to achieve what you would like to !

          For instance, I suppose that, from the original list ( 2 x 4 lines ), below :

          Sir William
          Robert
          Jo
          Louise-Elisabeth
          Shakespeare
          Pattinson
          Burt  
          Vigée Le Brun
          

          OR from the original list ( 1 * 4 lines ), below :

          Sir William Shakespeare   
          Robert Pattinson
          Jo Burt  
          Louise-Élisabeth Vigée Le Brun
          

          You would expect the same final list below :

               Sir William Shakespeare   
                    Robert Pattinson
                        Jo Burt  
          Louise-Élisabeth Vigée Le Brun
          

          No problem. Just the time to run 2/3 Searches/Replacements !!


          Of course, I needed some test text and I was thinking of a small list of real names and forenames of celebrities, with some compound names and some compound forenames, too !

          I, finally, chose the list of the 32 repute classical harpists, taken from the link below :

          https://en.wikipedia.org/wiki/List_of_classical_harpists

          Note that I don’t specially like or hate harp !!, Just hazard, while surfing on the Net :-)


          So, insert, in a NEW tab, the 32 forenames, below, without any indentation :

          Nancy
          Jana
          Alice
          Pearl
          Elaine
          Osian
          Vincent
          Sidonie
          Marcel
          Alphonse
          Elizabeth
          Pierre
          Yolanda
          Johann Baptist
          Lucile
          Susann
          François Joseph
          Jean Henri
          Şirin
          Laura
          Edna
          Ann
          Anna-Maria
          Casper
          Henriette
          Marisa
          Victor
          Carlos
          Marcel
          Sylvia
          Aristid
          Nicanor
          

          Some hypotheses :

          • The variable N will represent the total number of forenames / names, that is to say, the value 32, in our example

          • The variable M will represent the number of characters of the greatest forename, that is to say the value 15 ( Forename François Joseph, in our example )

          • The different S/R, below, must have the Regular expression search mode checked and the . matches newline option unchecked, in the Replace dialog ( CTRL + R )

          • You must go back to the very beginning of the list ( with CTRL + Origin ), BEFORE each S/R


          Perform the first S/R, below :

          SEARCH ^[^|\r\n]+[^ |]\K($|\|)|^.{M}\K + replacing the M variable by the appropriate integer ( 15, in our example )

          REPLACE (?1 |) with M Spaces, between the (?1 and |) strings ( 15 spaces, in our example ), that is to say :

          (?1               |)
          

          Click, TWICE, on the Replace All button


          Now, add, AFTER the present list, the 32 names, below, without any indentation :

          Allen
          Bouskova
          Chalifoux
          Chertok
          Christy
          Ellis
          Fanelli
          Goossens
          Grandjany
          Hasselmans
          Hainen DePeters
          Jamet
          Kondonassis
          Krumpholtz
          Lawrence
          McDonald
          Naderman
          Naderman
          Pancaroğlu
          Peperara
          Phillips
          Hobson Pilot
          Ravnopolska-Dean
          Reardon
          Renié
          Robles
          Salvi
          Salzedo
          Tournier
          Woods
          Von Würtzler
          Zabaleta
          

          Perform the second S/R, below:

          SEARCH (.+)(?=\R(.+\R){N-1}(.+))|.(?s).+ replacing the N-1 expression by the appropriate number ( 31, in our example )

          REPLACE \1\3

          Click, ONCE, on the Replace All button

          Note :

          • The dot, before the (?s) syntax, represents 1 char. NON EOL, to avoid that the second alternative selects ALL the remaining text, when the cursor is located :

            • Between the PIPE character and an EOL character, after a previous match of the first alternative of the regex

            • In possible blank lines, preceding the list, BEFORE any S/R process


          Finally, perform the third S/R, below :

          SEARCH ^(.+?)( *)\|

          REPLACE \2\1\x20

          Click, ONCE, on the Replace All button

          Et voilà !!! Nice, isn’t it ?

          We get the final list , below :

                    Nancy Allen
                     Jana Bouskova
                    Alice Chalifoux
                    Pearl Chertok
                   Elaine Christy
                    Osian Ellis
                  Vincent Fanelli
                  Sidonie Goossens
                   Marcel Grandjany
                 Alphonse Hasselmans
                Elizabeth Hainen DePeters
                   Pierre Jamet
                  Yolanda Kondonassis
           Johann Baptist Krumpholtz
                   Lucile Lawrence
                   Susann McDonald
          François Joseph Naderman
               Jean Henri Naderman
                    Şirin Pancaroğlu
                    Laura Peperara
                     Edna Phillips
                      Ann Hobson Pilot
               Anna-Maria Ravnopolska-Dean
                   Casper Reardon
                Henriette Renié
                   Marisa Robles
                   Victor Salvi
                   Carlos Salzedo
                   Marcel Tournier
                   Sylvia Woods
                  Aristid Von Würtzler
                  Nicanor Zabaleta
          

          Note :

          • In the Replacement part, you may change the single space (\x20), between forenames and names, by anything you would like to ! For instance, \2\1 - ( two spaces + one dash + two spaces )

          Now, let’s suppose that we, already, got the list of the 32 names, with their forenames, as below :

          Nancy Allen
          Jana Bouskova
          Alice Chalifoux
          Pearl Chertok
          Elaine Christy
          Osian Ellis
          Vincent Fanelli
          Sidonie Goossens
          Marcel Grandjany
          Alphonse Hasselmans
          Elizabeth Hainen DePeters
          Pierre Jamet
          Yolanda Kondonassis
          Johann Baptist Krumpholtz
          Lucile Lawrence
          Susann McDonald
          François Joseph Naderman
          Jean Henri Naderman
          Şirin Pancaroğlu
          Laura Peperara
          Edna Phillips
          Ann Hobson Pilot
          Anna-Maria Ravnopolska-Dean
          Casper Reardon
          Henriette Renié
          Marisa Robles
          Victor Salvi
          Carlos Salzedo
          Marcel Tournier
          Sylvia Woods
          Aristid Von Würtzler
          Nicanor Zabaleta
          

          First of all, we had to change aspace with the PIPE character |, to separate the forename part, on the left, from the name part, on the right. This action still needs human’s brain, NOT regexes, unfortunately :-(( So, our list becomes :

          Nancy|Allen
          Jana|Bouskova
          Alice|Chalifoux
          Pearl|Chertok
          Elaine|Christy
          Osian|Ellis
          Vincent|Fanelli
          Sidonie|Goossens
          Marcel|Grandjany
          Alphonse|Hasselmans
          Elizabeth|Hainen DePeters
          Pierre|Jamet
          Yolanda|Kondonassis
          Johann Baptist|Krumpholtz
          Lucile|Lawrence
          Susann|McDonald
          François Joseph|Naderman
          Jean Henri|Naderman
          Şirin|Pancaroğlu
          Laura|Peperara
          Edna|Phillips
          Ann|Hobson Pilot
          Anna-Maria|Ravnopolska-Dean
          Casper|Reardon
          Henriette|Renié
          Marisa|Robles
          Victor|Salvi
          Carlos|Salzedo
          Marcel|Tournier
          Sylvia|Woods
          Aristid|Von Würtzler
          Nicanor|Zabaleta
          

          Now, the different steps are almost the same ones as above. As we’ll use the same value of M, these are :

          • Recopy this modified list in a NEW tab

          • Perform the first S/R, TWICE :

          SEARCH ^[^|\r\n]+[^ |]\K($|\|)|^.{15}\K +

          REPLACE (?1 |) ( 15 spaces, between the (?1 and |) strings

          • Perform the third S/R, ONCE :

          SEARCH ^(.+?)( *)\|

          REPLACE \2\1\x20

          Note : In this case, the second S/R, above, is NOT used

          We, again, get the final list below :

                    Nancy Allen
                     Jana Bouskova
                    Alice Chalifoux
                    Pearl Chertok
                   Elaine Christy
                    Osian Ellis
                  Vincent Fanelli
                  Sidonie Goossens
                   Marcel Grandjany
                 Alphonse Hasselmans
                Elizabeth Hainen DePeters
                   Pierre Jamet
                  Yolanda Kondonassis
           Johann Baptist Krumpholtz
                   Lucile Lawrence
                   Susann McDonald
          François Joseph Naderman
               Jean Henri Naderman
                    Şirin Pancaroğlu
                    Laura Peperara
                     Edna Phillips
                      Ann Hobson Pilot
               Anna-Maria Ravnopolska-Dean
                   Casper Reardon
                Henriette Renié
                   Marisa Robles
                   Victor Salvi
                   Carlos Salzedo
                   Marcel Tournier
                   Sylvia Woods
                  Aristid Von Würtzler
                  Nicanor Zabaleta
          

          Best regards,

          guy038

          1 Reply Last reply Reply Quote 1
          • Claudia FrankC
            Claudia Frank
            last edited by

            Hi guy038,

            puuuhh, wow, excellent.
            You know I love python script and I guess this script can do it almost the same, can’t it?

            i = 0               # LengthOfBiggestString
            list_of_names = []
            
            def find_biggest_string(cont, l_num, tot_lines): 
                global i
                if len(cont) > i:
                    i = len(cont)
                list_of_names.append(cont)
            
            editor.forEachLine(find_biggest_string) 
            
            editor.clearAll()
            
            for name in list_of_names:
                name_parts = name.split(' ')
                firstname = name_parts[0]
                lastname = ' '.join(name_parts[1:])
                console.write('{0:>{1}} {2}'.format(firstname,i, lastname))
                editor.appendText('{0:>{1}} {2}'.format(firstname,i, lastname))
            

            Cheers
            Claudia

            1 Reply Last reply Reply Quote 0
            • guy038G
              guy038
              last edited by

              Hello, Claudia,

              Yes, you’re absolutely right ! I should have a try of this powerful plugin, taking some time to fully study it, instead of jumping from one N++ version to another one, rather using basic features !

              I also saw your detailed reply to pwnotepaduser, from :

              https://notepad-plus-plus.org/community/topic/10882/feature-request-copy-line-with-number/6

              Everyone can notice that very few lines, of that scripting tool, are enough to get a complete new feature, from inside N++ :-)


              However, I, sometimes, find hard to get back to “real life”, while using N++. So, I’m just afraid it would be worse, using the Python Script plugin, which can help everyone to really customize its own Notepad++ ! Of course, I’m a bit joking… but not only !

              BTW, I haven’t heard of you, on N++ forums, for quite a long time. So, it’s nice that you’re back again ! And, thanks for the active and valuable support you give to many N++ users :-))

              Cheers,

              guy038

              1 Reply Last reply Reply Quote 0
              • Claudia FrankC
                Claudia Frank
                last edited by Claudia Frank

                Hi guy038,

                thank you for your kind words. You’re right, I was a bit lazy in the past.
                Mainly in the virtual world, real life was/is stressful enough ;-)

                It’s nice to see that you are still having that patience to answer in such
                elaborated way. Astonishing. Is there anything you can’t do with RegEx? ;-)
                Maybe cooking??

                Keep your good mood.

                Cheers
                Claudia

                1 Reply Last reply Reply Quote 0
                • guy038G
                  guy038
                  last edited by guy038

                  Hi, Claudia,

                  No, no, you’re wrong about regexes ! Of course, cooking is possible with regexes : See, below, that wonderful cake, only made of special regex characters, except for the regular slash !!!

                  •-------------------------------------------------------------•
                  |                                                             |
                  |                            {+}                              |
                  |                    \      ({^})       \                     |
                  |          /        / )      \ /       / )    {^}             |
                  |         ( \      | /       .|.      | /    ({+})            |
                  |          \ |     .|.       | |      .|.     \ /             |
                  |          .|.     | |       | |      | |     .|.             |
                  |          | |     | |       | |      | |     | |             |
                  |          | |     | |+*****+| |+****+| |     | |             |
                  |          | |+***+| |       | |      | |+***+| |             |
                  |        +*| |     | |                | |     | |+***+        |
                  |       +  | |     | |                | |     | |     +       |
                  |      *           | |    H  A  P  P  Y       | |      *      |
                  |      | *         | |                               * |      |
                  |      |  +***+        R  E  G  E  X  E  S  !   +***+  |      |
                  |      |$      +********+             +********+      $|      |
                  |      | $   $           +***********+           $   $ |      |
                  |      |  $ $ $    $                       $    $ $ $  |      |
                  |      |       $ $  $      $       $      $ $ $        |      |
                  |       +            $ $ $  $     $ $ $ $             +       |
                  |         +***+              $   $              +***+         |
                  |              +********+     $ $     +********+              |
                  |                        +***********+                        |
                  |                                                             |
                  •-------------------------------------------------------------•
                  

                  And, as we’re near Christmas time, let’s have, now, the candle’s flames animated :

                  • Copy / Paste that delicious cake in a new tab

                  • Open the Replace dialog ( CTRL + H )

                  • Set the Regular expression search mode

                  • Check, preferably, the Wrap around option

                  • Don’t care about the other options !

                  • Fill up the Search and Replace zones :

                    SEARCH ( \ )|( / ) )|( | / )|({^})|( / )|( ( \ )|( \ | )|({+})

                    REPLACE (?1 / )(?2 ( \ )(?3 \ | )(?4{+})(?5 \ )(?6 / ) )(?7 | / )(?8{^})

                  • Click on the Replace All button, repeatedly ( or press the ALT + A shortcut, for a quicker switch )

                  Et voilà ! Like kids, you’re quite filled with wonder, aren’t you ?


                  Of course ( as I’m certainly better in regexes than in drawing and painting ! ), I didn’t create this image. I just took the general frame, from a French site, about ASCII-Art, at the address below :

                  http://www.ascii-fr.com/-Anniversaire-.html

                  Best Regards,

                  guy038

                  1 Reply Last reply Reply Quote 0
                  • Claudia FrankC
                    Claudia Frank
                    last edited by

                    LOL LOL LOL LOL

                    Brilliant, I really tried it and had a lot of fun with it.
                    I even felt the heat :-D

                    So next time I have guests I serve coffee,
                    put a laptop on the table and let them choose a slice :-D

                    Hmm, so I have to think about a pythonish way. ;-)

                    Cheers
                    Claudia

                    1 Reply Last reply Reply Quote 0
                    • guy038G
                      guy038
                      last edited by guy038

                      Hi, Claudia,

                      Give a second try to my regex, because I slightly modified the cake and I needed to put the Search and Replace regexes like pure code, with black background, in order that consecutive space characters are NOT compacted in one space !

                      Otherwise, the regexes DON’T give the goods results !

                      Cheers,

                      guy038

                      1 Reply Last reply Reply Quote 0
                      • Claudia FrankC
                        Claudia Frank
                        last edited by

                        Hi guy038,

                        beautiful. So I don’t play spider solitare anymore
                        but will watch burning cake :-D

                        Cheers
                        Claudia

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        The Community of users of the Notepad++ text editor.
                        Powered by NodeBB | Contributors