[New Plugin] BetterMultiSelection



  • This provides better cursor movements when using multiple selections. Supported cursor movements are:

    • Left
    • Right
    • Home
    • End
    • Word Left (Ctrl+Left)
    • Word Right (Ctrl+Right)

    You can also hold down Shift to extend the selections.

    Note: This is still in early development. It has not been tested with non-US keyboard layouts. This does have some minor quirks (such as the cursor not always blinking correctly, smart-highlighting not always working, etc) that are a side effect of the implementation.

    demo

    Download (32 & 64bit): https://github.com/dail8859/BetterMultiSelection/releases
    Readme/code/github project: https://github.com/dail8859/BetterMultiSelection



  • Hi, @dail,

    After some testing on your new BetterMultiSelection plugin, it’s just a pleasure to use it, instead of the present N++ rectangular selection :-)) Indeed ! And I do think that this behaviour should be the default one, implemented in the next official N++ release !


    In addition, it also improves typing, when you use multi-editing ( several simultaneous carets )

    To test it :

    • First, verify that Dail’s plugin is running ( Plugin > BetterMultiSelection > Enable )

    • If necessary, set the Multi-Editing functionality ( Settings - Preferences - Editing - Multi-Editing Settings - Enable )

    • Recopy, for instance, the example text , below, in a new tab ( three identical lines, separated by two blank lines ) :

    abcdef   ghijkl   mnopqr
    
    abcdef   ghijkl   mnopqr
    
    abcdef   ghijkl   mnopqr
    
    • Place, first, the caret after the j letter of the first line

    • Then, holding down the CTRL key, place a second caret after the j letter, of the second line

    • Again, holding down the CTRL key, place a third caret after the j letter, of the third line

    And now…, just play, with any of the following keys or shortcuts :

    • Home , End, Shift + Home, Shift + End

    • Left , Right, Shift + Left, Shift + Right

    • Ctrl + Left , Ctrl + Right, Shift + Ctrl + Left, Shift + Ctrl + Right

    Quite easy, isn’t it ? Very useful plugin !!

    Best Regards,

    guy038

    P.S. :

    For people, wondering about the different steps, of the demo.gif animation, here is the solution !

    So, given the original text, with the caret, located at the beginning of word myTable :

    print myTable
    print myVar
    print myOtherVar
    

    The following ordered actions :

    • Alt + Shift + Down arrow ( x 2), to get the rectangular selection, on the three lines

    • Shift + Home key

    • Suppr key

    • Tabulation key

    • String cout

    • Space bar

    • String <<

    • Space bar

    • Shift + End key

    • Crtl + D

    • Right arrow

    • Space bar

    • Ctrl + Left arrow

    • String "

    • Ctrl + Right arrow

    • Space bar

    • Left arrow

    • String is

    • Space bar

    • String "

    • Space bar

    • String <<

    • Right arrow

    • Ctrl + Right arrow

    • String .toString();

    • Left arrow

    • Space bar

    • String <<

    • Space bar

    • String endl

    produces the final text, below, with a tabulation character, at beginning of each line :

    	cout << "myTable is " << myTable.toString() << endl;
    	cout << "myVar is " << myVar.toString() << endl;
    	cout << "myOtherVar is " << myOtherVar.toString() << endl;
    


  • @guy038

    Thanks for testing it out and glad it works well for you.

    And I do think that this behaviour should be the default one, implemented in the next official N++ release !

    If Notepad++ ever updates to Scintilla v3.6.0+ then this behavior and more is already built in to Scintilla simply by turning on the SCI_SETADDITIONALSELECTIONTYPING option.



  • Hi, dail!

    Amazing work… thank you!

    I tried Better Multi Selection with an non-US keyboard layout (in my case, Brazilian ABNT2 layout) and it seen ok with accented letters like á, ç, ê…

    But i think i find a problem with chars like $ and @…
    I posted a animated gif about a this possible problem in you extension:
    Better Multi Selection possible bug?

    More info:
    I’m using Notepad++ ver 1.3.3 (32 bits) on Windows 7 (64 bits, Brazilian Portuguese)



  • @OverlordBR

    I’m glad you are finding it useful.

    From the gif it looks like this is correct behavior. By default Notepad++ does not treat $ and @ as “word characters”. If you are able, you can verify that this is just Notepad++ behavior by placing only 1 cursor in the file on line 3 and performing the same cursor movements.



  • Oh… you are right! Notepad++ has the same behavior. :(



  • @dail

    i only saw the latest version of your plugin now (it didn’t show on Plugin Manager’s updates tab)
    but… the new feature of “press Enter to insert newlines” works great and is super useful!

    Thank you!


Log in to reply