Column mode selection request

Jeff
2009-03-27
2012-11-13
  • Jeff

    Jeff - 2009-03-27

    I would find it useful if you could select past the end of a line while in column mode.  Here is an example of what I am talking about. 

    If I have the following text:
    12
    123456
    1234
    123456789
    12345
    12

    and I would like to select and copy up to the first 4 columns of data in all of the rows like this:
    12
    1234
    1234
    1234
    1234
    12

    I can not do that with npp, I can only copy the first 2 columns like this:
    12
    12
    12
    12
    12
    12

    because npp will not let me move the selection cursor past the end of the line.

    Other text editors allow selecting past the end of a line in column mode, but I like npp better and hope it will support this feature in the future.

    Thanks,
    Jeff

     
    • Bill Wire

      Bill Wire - 2009-03-30

      Ummmm, Yeah you can do this stuff in other ways.  You could for example, just edit each line by hand.  That is not the point. 

      The point is that in column-mode, it makes perfect sense to be able to drag the selection to the right as far as the longest line in the selection area.  Having each line padded with spaces or not should be optional.

      The whole column-editing part of N++ seems to be suffering issues.  Issues I've noted with column mode:

      1.  With a column-selection active, if you hit backspace or delete, it clears the whole selection, but you then lose the selection.

      2.  With a zero-width column selection active, nothing you type appears anywhere.  This is counter-intuitive and seems pretty useless.  Far more useful would be for it to insert what I type on ALL lines of the selection in the column position I have selected.

      3.  An extension of #2 - when the column selection is more than zero characters, the entire box is filled with each character I hit, leaving me with a block of "c" if I type "abc".  Extremely unhelpful, and I cannot see any valid use for the "feature" as-is.

      Yes, there are work-arounds.  Alt-C allows me to "column-insert" which is the functionality I'd expect from #2 and #3 above.  I'd expect #3 to perform an "overtype" function.  I just seems to me that the column-mode functionality in N++ is not mature yet.

       
      • Fool4UAnyway

        Fool4UAnyway - 2009-03-31

        > Ummmm, Yeah you can do this stuff in other ways.
        > You could for example, just edit each line by hand.
        > That is not the point.

        Please explain to me how this is to be considered "constructive criticism".

        I don't see the use in yet another thread about things that have been requested long before.

        Poster reports a problem. I report a work-around.

        Thanks for pointing out this has no use!

         
        • Bill Wire

          Bill Wire - 2009-04-01

          >> Ummmm, Yeah you can do this stuff in other ways.
          >> You could for example, just edit each line by hand.
          >> That is not the point.

          >Please explain to me how this is to be considered "constructive criticism".

          Sure.  That part was actually constructive criticism directed to you intended to lead you to read more carefully.  The *original post* was not a request for help or a work-around and the poster obviously had already come up with ways to get around the limitation.  It was a request/suggestion for alternative functionality.

          Directions for how to do something are appropriate in such a thread when the exact functionality (or extremely similar) exists already without complex multi-step procedures.

          >I don't see the use in yet another thread about things that have been requested long before.

          The value is that the developers see it remains important to the users.  I didn't see a sticky thread that said "coming soon" to say the topic had already been addressed.

          >Poster reports a problem. I report a work-around.

          >Thanks for pointing out this has no use!

          It does have use.  Quite a bit of use, if the poster was asking for a work-around or help, not requesting something work better (in his view - and mine). 

          If you've been offended by my post, feel free to ignore me in the future.  Insults & flaming is never my intent.  If something can be taken several ways and one of them offends you, you can be certain that wasn't the way it was intended.

          Believe me, if insult and offense were my intent - there would be no way to mistake it for anything else.  But you'll never see it because it isn't in my nature.

          This however, is no longer a useful contribution to the forum and you won't be hearing from me again unless it's back on-topic of how to improve N++ to the point it's the only editor anybody would ever want to use.

           
          • Fool4UAnyway

            Fool4UAnyway - 2009-04-01

            Read carefully, yeah, you!

            The original poster is not stating a request at all.

            He is only expressing a wish.

            He is saying he can not do something in the way he expects it to work.

            I just tell him:
            - you can do this in Notepad++
            - how he can do this in Notepad++

            So, problem solved, for the time being.

            Poster does not have to sit back and wait until someone else makes the app to work his way.

            Why not reply to a similar thread instead of creating a new one? It would be obvious from the revived thread that the "problem" or request already existed.

             
      • Fool4UAnyway

        Fool4UAnyway - 2009-03-30

        You can either:

        - stop using a product that doesn't do what you want or expect

        - use or not use the product and complain about what it doesn't do in the way you want it to

        - look for ways to do what you want to do, even if those are ways you do not expect

        - you may even add this functionality yourself, if it is so important to you

        If you only expect things to be the way you want them, well, I wish you good luck finding a product that does.

        I could simply have replied: OK, this is what you want, this is what Notepad++ doesn't.

        But I think I am of help to people who really want to _use_ a product instead of using a product and expecting it to do exactly what they want it to do without putting any effort into it.

         
        • Bill Wire

          Bill Wire - 2009-03-31

          Dude, did I step on your dog or something?  Sorry I didn't see him.

          Seriously though, I am not complaining that the program doesn't do what I want just to hear myself whine.  It is called constructive criticism.  You'll note that I didn't just say "this is bad" I also said how I thought it could be better.

          I do take the time to learn to use the product.  I grant you, I've only had it for two weeks.   But in that two weeks, I've explored it pretty thoroughly - using it as my primary editor at work.  During all that exploring, I noted some things that don't seem to work as well as they could.  I'd be nothing but a parasite if I did not *at least* come back to the forum monitored by the developers to let them know that I think there could be a better way to do something, or that there is a feature missing.

          If you visit www.brixoft.net and download SourceEdit, you will find an excellent implementation of exactly what the original poster and myself are both speaking about.  It is more intuitive than the current implementation.  It isn't based on the same engine, nor is it open source, but it does demonstrate the feature. 

          N++ is as-good or better than SourceEdit in quite a few ways (stability (so far), portability, plug-ins, macro handling).  Not as good in others (syntax highlighting speed, column editing, user-language styler definition.)

          Just because one can find a way to do something within the tool, does not mean it is the best way to do it.  If that were the attitude taken over history, we'd still all be using line-editors.  Thankfully, awesomely talented and generous souls like Donho and company have graced us with a better way. 

          Since I find that I don't have the time to write programs outside of work, my contribution to the project at this juncture will consist of bug reporting and suggestions for improvement.  The developers can take my suggestions, or leave them as they choose, but it is a valid contribution none the less.  Especially since it is from the viewpoint of a new user, not an old hand.

          Thank you by the way for your useful suggestions on how to get around certain limitations in the editor.  You obviously know your way around it quite well.  Had the original post been a request for help rather than a suggestion, they'd have done the trick. 

          In conclusion: Chill out, I'm trying to help.  What I'm offering are suggestions, not complaints.  If I didn't like the program, I wouldn't have bothered to sign up to the forum and offer my opinions on ways it could be improved.

           
      • Don HO

        Don HO - 2009-03-30

        > 1. With a column-selection active, if you hit
        > backspace or delete, it clears the whole
        > selection, but you then lose the selection.

        It's an expected behaviour for me.

        > 2. With a zero-width column selection active,
        > nothing you type appears anywhere.

        zero-width selection should be used with column editor.

        > 3. An extension of #2 - when the column
        > selection is more than zero characters, the
        > entire box is filled with each character I hit,
        > leaving me with a block of "c" if I type "abc".

        I'll see if I can do something for it, but I promise nothing.

        Don

         
        • Don HO

          Don HO - 2009-03-31

          >> 1. With a column-selection active, if you hit 
          >> backspace or delete, it clears the whole 
          >> selection, but you then lose the selection. 

          > It's an expected behaviour for me.

          It's still an expected behaviour for me.

          >> 2. With a zero-width column selection active, 
          >> nothing you type appears anywhere. 

          > zero-width selection should be used with column editor. 

          zero-width column selection will allow user to insert any character.

          >> 3. An extension of #2 - when the column 
          >> selection is more than zero characters, the 
          >> entire box is filled with each character I hit, 
          >> leaving me with a block of "c" if I type "abc". 

          The expected behaviour will be in the next release.

          Don

           
    • Jan Schreiber

      Jan Schreiber - 2009-03-27

      I second this request. Normally I don't like the cursor going past EOL, but in column selection mode this is most useful.

       
    • cchris

      cchris - 2009-03-27

      TextFX -> TextFX Edit -> Pad rectangular selection with spaces

      Using an ordinary selection won't work, be sure to  hold Alt while selecting.

      CChris

       
      • Jeff

        Jeff - 2009-03-27

        That does not do what I am asking for.  It will fill in a selection to make it rectangular, but I can not make the selection as described in the first post. 

        The only work-around I have figured out is to pad the first or last line with spaces up to the number of columns I want to copy, then use the padded line for the end point of my selection.

         
        • Fool4UAnyway

          Fool4UAnyway - 2009-03-27

          Here's an alternative approach.

          Select all complete lines.

          Press Ctrl+D to duplicate them.

          Press Ctrl+R to open the advanced Find/Replace dialog.

          Check the Regular Expression checkbox.

          Check the Selection checkbox.

          Uncheck any other checkbox.

          In the Find field, enter:
          ^(..).*

          In the Replace field, enter:
          \1

          Replace all occurrences.

          Now you should have what you want, in this example.

          Use as many dots between the parentheses (..) as the number of characters you want keep.

           
          • Fool4UAnyway

            Fool4UAnyway - 2009-03-27

            I am sorry. I am mistaken here. You want to keep the first (up to) 4 characters of all lines.

            You should use the following regular expression in the Find field:
            ^(....).*

            Lines shorter than 4 characters won't match. However, there is no need at all to change them anyway.

             
            • Fool4UAnyway

              Fool4UAnyway - 2009-03-27

              Here is yet another approach, using a regular expression as well, but also using column mode of the advanced Find/Replace dialog.

              Select all desired lines.

              Press Ctrl+D to create your copy of the orginal to work on.

              Press Ctrl+R to open the advanced Find/Replace dialog.

              Check the Regular Expression checkbox.

              Check the Selection checkbox.

              Uncheck any other checkbox.

              In the Find field, enter:
              .

              Leave the Replace field blank.

              Just above the Cancel button, replace the #-# columns text with:
              5-

              Press the Find button.

              Press the Replace Rest button.

              This should eat all characters _after_ the fourth position (so _from_ position 5), one by one, leaving you with what you want.

              Strangely enough, the regular expression .* won't work with these options. This should eat the "rest of each line" at once, instead of the character by character removal.

              So you could also enter 5-5 as the desired column range.

               
    • Jan Schreiber

      Jan Schreiber - 2009-03-30

      Try the column editor.

       
    • Doug Joseph

      Doug Joseph - 2009-03-30

      Fool4U => My Goodness! Chill out.

      This column mode thing has been posted before. It is a reasonable request... in fact I think I've posted similar comments. I live without it, and yes I've look at doing it myself, but time gets away from me.

      I don't see how your comments are 'helpful' or beneficial to this discussion. If this person didn't already like this product, I doubt he would waste his time posting. Since he has gone through the trouble of posting, then perhaps he just would like this product to be better. There's no sin in that.

      NP++ is the best editor around (let alone for the money), why blow valid suggestions for users, with rude and uncalled for banter?

      Here is the problem that makes this column mode thing such a booger. When you advance to a new line, the editor goes to the EOL rather than filling a line with spaces. Some editors leave the cursor on the column where it is on the vurrent line and fill only if the person types a character. In column mode, the desired effect should be to fill the line with spaces. It is somewhat crude, but it would give the desired effect. If this could be done then Jeff's problem would evaporate.

      This is merely a suggestion, please don't yell at me too.

      -Doug

       
      • Don HO

        Don HO - 2009-03-30

        > I don't see how your comments are 'helpful' or beneficial to this discussion.

        I agree with you.

        > When you advance to a new line,
        > the editor goes to the EOL rather than filling a line with spaces.

        There'll be a lot of things to manage (adding and deleting spaces) just for this feature so it's not doable.

        Don

         
        • Jeff

          Jeff - 2009-03-31

          While adding and deleting spaces may be one way to fix the problem, I see that as a work-around for end-users and not a final solution. 

          All I was asking is that if I press the <Alt> key to start column mode, click at line 1 column 1 (of the original example), drag the cursor to line 6, that if I drag the cursor to column 5 (even if there is no data there) that it would select lines 1-6 and up to column 4 (less if the line has less than 4 columns of data)  The problem is that if I drag the cursor to line 6 column 5, it only selects columns 1 and 2 because line 6 only has 2 columns of data.  I hope that clears things up.

           
    • Doug Joseph

      Doug Joseph - 2009-03-31

      Don,

      Indeed, I tried to do it and got bogged in the upkeep.

      Thanks for you insight on this.

      -Doug

       
    • cchris

      cchris - 2009-03-31

      I happened to be looking at the Scintilla ToDo list which comes with the source of N++. It has an item about allowing cursor to go past EoL. When this is implemented, N++ can add an option for this mode, and then rely on Scintilla's copy mechanism, which will have been extended for that purpose.

      ConText has been doing this for a long time anyway.

      CChris

       
      • Don HO

        Don HO - 2009-03-31

        > It has an item about allowing cursor to go past EoL.

        Could you point it out to me? I checked Scintilla online document but I found nothing.

        > ConText has been doing this for a long time anyway.

        Just checked Context as well, it seems to me that it does not use Scintilla.

        Don

         

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks