This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 262728 - [82cat] New multi-caret support has invalid key bindings for OS X
Summary: [82cat] New multi-caret support has invalid key bindings for OS X
Status: VERIFIED FIXED
Alias: None
Product: editor
Classification: Unclassified
Component: Actions/Menu/Toolbar (show other bugs)
Version: 8.2
Hardware: PC Mac OS X
: P1 normal (vote)
Assignee: Miloslav Metelka
URL:
Keywords: 82_HR_FIX
: 262731 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-07-08 08:39 UTC by brettryan
Modified: 2016-10-19 10:18 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Patch to correct OS X key bindings (1.16 KB, patch)
2016-07-15 14:07 UTC, brettryan
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description brettryan 2016-07-08 08:39:51 UTC
Default bindings that require the user to press CTRL+*+CLICK conflict with OS X's CTRL+CLICK being a [right click] action.

Key bindings for multi-carets do not appear in the IDE's key bindings editor which prevent these defaults from being altered.

Steps to Reproduce
==================

1. Open any file with multiple lines.
2. Try CTRL+SHIFT+CLICK to enter multi-caret mode

Expected Behaviour
==================

Editor should insert a new caret and enter multi-caret mode.

Actual Behaviour
================

Context menu appears as if right-click is invoked.


Other Notes
===========

I can confirm that multi-caret mode is available in this build as the "Add caret for the next occurence and enter multi-caret mode" key binding (CTRL+G) does in fact work.

I would have expected that the CTRL+G would actually use the last search pattern (CMD+F) however, it actually requires the user to first highlight text, this means regular expressions may not be used for search patterns. Finding a few other bugs, will raise seperately.
Comment 1 brettryan 2016-07-08 08:41:41 UTC
Product Version: NetBeans IDE Dev (Build 201607070002)
Java: 1.8.0_92; Java HotSpot(TM) 64-Bit Server VM 25.92-b14
Runtime: Java(TM) SE Runtime Environment 1.8.0_92-b14
System: Mac OS X version 10.11.4 running on x86_64; UTF-8; en_AU (nb)
User directory: /Users/bryan/Library/Application Support/NetBeans/dev
Cache directory: /Users/bryan/Library/Caches/NetBeans/dev
Comment 2 brettryan 2016-07-08 09:18:16 UTC
It actually turns out that many of the shortcuts already conflict:

Description                                                     Shortcut (mac)   Conflicts With
===========                                                     ================ ==============
Add caret and enter multi-caret mode                            Ctrl+Shift+click OS X Right CLick
Remove last added caret                                         Ctrl+Shift+G     Go to declaration
Add caret for the next occurence and enter multi-caret mode     Ctrl+G           Go to Line...
Add caret for all occurences and enter multi-caret mode         Ctrl+Cmd+G       none
Add caret on previous line and enter multi-caret mode           Alt+Shift+[      OS X ”
Add caret on next line and enter multi-caret mode               Alt+Shift+]      OS X ’
Paste clipboard content as lines over the multiple carets       Cmd+Shift+L      Find Usages AND OS X - Search with Google
Remove all extra carets and return to normal mode               Escape           none
Comment 3 brettryan 2016-07-15 01:24:56 UTC
Ok, I've done a bit of analysis to try and work out which key combinations would best suit NetBeans IDE. I've chosen to use sublime text [1] as a base for these decisions where possible as NetBeans IDE has been placing itself more and more as a web toolchain which is hoped to attract users who might otherwise be using sublime, this makes their transition easier.

However, the challenge is trying to find the right balance of what doesn't already conflict with existing NetBeans IDE shortcuts and avoiding OS X default shortcuts.

NOTE: I have based my conflicts out of the NetBeans IDE EE distribution, it is possible that other conflicts may be present with C++, PHP and Groovy modules. I shall review this in time.

NOTE: (Opt)ion is the correct key name on a mac computer for the windows Alt key, however; the behaviour is slightly different, windows uses Alt for accessing menus, OS X uses it for modifying menus.


Add caret and enter multi-caret mode
------------------------------------

Current: Ctrl+Shift+click
Proposed: Cmd+Shift+Click

Reasoning:
  Sublime text uses Cmd+Click, however; this conflicts with NetBeans IDE's "Go to Declaration" navigational behaviour. Cmd+Shift is also a comfortable shortcut to invoke with users thumb and pinky.


Remove last added caret
-----------------------

Current: Ctrl+Shift+G
Proposed: Cmd+U, Opt+U, Ctrl+U

Reasoning:
  Cmd+U is the same as sublime, bewared though that this may conflict with (Cmd+U U) "To Uppercase". If this conflicts, or; otherwise use Opt+U or Ctrl+U


Add caret for the next occurence and enter multi-caret mode
-----------------------------------------------------------

Current: Ctrl+G
Proposed: Cmd+D

Reasoning:
  Same as sublime. However, it would be nice to make the next (...for all...) be a shift or Ctrl modifier, yet they both conflict with OS X or existing NetBeans IDE shortcuts. Please use discretion in selecting an alternative.

A suggested alternative which doesn't conflict and is similar tot he next would be Ctrl+Cmd+Shift+G, but I'm not a fan of finger gymnastics myself.


Add caret for all occurences and enter multi-caret mode
-------------------------------------------------------

Current: Ctrl+Cmd+G
Proposed: Keep as is

Reasoning:
  It doesn't conflict, and see prior (...for the next...) for more information.


Add caret on previous line and enter multi-caret mode
-----------------------------------------------------

Current: Alt+Shift+[
Proposed: Opt+Cmd+Up

Reasoning:
  Sublime uses Ctrl+Shift+Up but this already collides. Opt+Cmd+Up doesn't collide and seems reasonable and is easy to press both Opt+Cmd with the left thumb or right index finger (no Ctrl on right of keyboard for those with no left arm).


Add caret on next line and enter multi-caret mode
-------------------------------------------------

Current: Alt+Shift+]
Proposed: Opt+Cmd+Down

Reasoning:
  See my prior points on (...previous...) but using Down instead of Up.


Paste clipboard content as lines over the multiple carets
---------------------------------------------------------

Current: Cmd+Shift+L
Proposed: Opt+Cmd+V

Reasoning:
  I don't really understand the difference in behaviour besides ordinary paste, however; for an option this sounds reasonable, I would have used Cmd+Shift+V but that conflicts with "Paste Formatted"


Remove all extra carets and return to normal mode
-------------------------------------------------

Current: Escape
Proposed: Keep as is

Reasoning:
  It's perfectly fine.


 [1]: https://www.sublimetext.com
Comment 4 Martin Balin 2016-07-15 08:26:07 UTC
Brettryan, thanks' for thorough analyses & proposals. This is definitely something we can use and implement soon.
Comment 5 brettryan 2016-07-15 14:07:40 UTC
Created attachment 160406 [details]
Patch to correct OS X key bindings

This is a partial patch which includes all my recommended and tested key bindings for OS X.

This patch does not include the click event for the click to enter multi-caret mode. Unfortunately I could not identify at this point in time where this is defined.
Comment 6 Miloslav Metelka 2016-07-19 12:59:39 UTC
Sorry, I'm still trying to find out if we could be less diverging (have the same letter in the shortcut just differ in modifier) regarding the Mac platform shortcuts.

Regarding the Paste By Lines #258742 IMO the more typical is to paste a single line at each caret so it should be the default behavior on regular paste while pasting the whole content at each caret is less typical so it should should be an extra action and I don't think it deserves a dedicated shortcut.
Comment 7 brettryan 2016-07-19 15:38:12 UTC
(In reply to Miloslav Metelka from comment #6)
> Sorry, I'm still trying to find out if we could be less diverging (have the
> same letter in the shortcut just differ in modifier) regarding the Mac
> platform shortcuts.

That's quite a hard ask and often a topic which sees a misunderstanding of the meaning of Mac OS X modifier keys. As an example, Opt should be treated as a augment (Opt)tion/(Alt)ernate rather than on windows where it is the primary modifier, ours is the Cmd (command) key. This missunderstanding sometimes ends up with keys for Opt alone which will often collide with (alt)ernate alphanumeric behaviour like glyphs.

> Regarding the Paste By Lines #258742 IMO the more typical is to paste a
> single line at each caret so it should be the default behavior on regular
> paste while pasting the whole content at each caret is less typical so it
> should should be an extra action and I don't think it deserves a dedicated
> shortcut.

I tend to disagree with that conclusion as intuitively I would expect each caret to behave as a single entity. If i wanted every insertion to be the paste buffer which might i clude a single line plus a line feed, I would expect that to insert the whole buffer by default for each insertion, let's suppose I had the following paste buffer

" /** */
private final "

And I had the following carets

    |int id;
    |String name;

I would want by default this to paste the full buffer at both points. This isn't merely a trivial example as I have actually used this practice with the block mode support right now.

Another argument would be, when you press enter in multi-caret mode you would expect a new line at every caret.

If no alternate shortcut how woumd you propose both behaviours?

I chose to use Opt (Alt) to augment the standard paste function as it's the most natural to understand.
Comment 8 Miloslav Metelka 2016-07-20 15:28:45 UTC
(In reply to brettryan from comment #7)
> (In reply to Miloslav Metelka from comment #6)
> > Sorry, I'm still trying to find out if we could be less diverging (have the
> > same letter in the shortcut just differ in modifier) regarding the Mac
> > platform shortcuts.
> 
> That's quite a hard ask and often a topic which sees a misunderstanding of
> the meaning of Mac OS X modifier keys. As an example, Opt should be treated
> as a augment (Opt)tion/(Alt)ernate rather than on windows where it is the
> primary modifier, ours is the Cmd (command) key. This missunderstanding
> sometimes ends up with keys for Opt alone which will often collide with
> (alt)ernate alphanumeric behaviour like glyphs.

Yes, I'm aware both of Opt being used for glyphs typing (i.e. at least all Opt+Alpha/Number combinations cannot be used) and Cmd key being in fact like Ctrl on non-Mac platforms (you may notice that NB uses a 'D' modifier in the keybindings xml which translates to Ctrl for non-Mac platforms and Cmd for Mac platforms).
Btw you proposed Opt+U (among others) for Remove last added caret. I guess that might be a problem based on the previous discussion, isn't it?

I've found a conflict of
    <bind key="D-J" remove="true"/>
    <bind actionName="addCaretSelectNext" key="C-G"/>
in NetBeans-keybindings-mac.xml
with
    <bind actionName="goto" key="D-G"/>
in NetBeans-keybindings.xml
so I've temporarily disabled the remapping until we complete the fix.
http://hg.netbeans.org/jet-main/rev/f7f671e4afa0

> 
> > Regarding the Paste By Lines #258742 IMO the more typical is to paste a
> > single line at each caret so it should be the default behavior on regular
> > paste while pasting the whole content at each caret is less typical so it
> > should should be an extra action and I don't think it deserves a dedicated
> > shortcut.
> 
> I tend to disagree with that conclusion as intuitively I would expect each
> caret to behave as a single entity. If i wanted every insertion to be the
> paste buffer which might i clude a single line plus a line feed, I would
> expect that to insert the whole buffer by default for each insertion, let's
> suppose I had the following paste buffer
> 
> " /** */
> private final "
> 
> And I had the following carets
> 
>     |int id;
>     |String name;
> 
> I would want by default this to paste the full buffer at both points. This
> isn't merely a trivial example as I have actually used this practice with
> the block mode support right now.
Since I guess that there are no statistics of what is more frequent case in practice, let's leave it as it is now.

> 
> Another argument would be, when you press enter in multi-caret mode you
> would expect a new line at every caret.
But that does not count since we are talking about pasting from the clipboard.

> 
> If no alternate shortcut how woumd you propose both behaviours?
The action is still reachable by using Edit menu.

> 
> I chose to use Opt (Alt) to augment the standard paste function as it's the
> most natural to understand.
Yes, I agree with that but I'm not too comfortable with Ctrl+Shift+L shortcut for the action on non-Mac platforms.
Comment 9 brettryan 2016-07-20 18:15:55 UTC
(In reply to Miloslav Metelka from comment #8)
> Yes, I'm aware both of Opt being used for glyphs typing (i.e. at least all
> Opt+Alpha/Number combinations cannot be used) and Cmd key being in fact like
> Ctrl on non-Mac platforms (you may notice that NB uses a 'D' modifier in the
> keybindings xml which translates to Ctrl for non-Mac platforms and Cmd for
> Mac platforms).

Cool no prob, there is a lot of instances where this appears to not be known and many conflicts arise in the IDE. One example is toggling the options in the search/replace (match case, regex...).

> Btw you proposed Opt+U (among others) for Remove last added caret. I guess
> that might be a problem based on the previous discussion, isn't it?

Yep, very true, my bad though I thought I mapped to Ctrl+U. I only chose Opt+U as an option as it's the same as sublimetext.

> I've found a conflict of
>     <bind key="D-J" remove="true"/>
>     <bind actionName="addCaretSelectNext" key="C-G"/>
> in NetBeans-keybindings-mac.xml
> with
>     <bind actionName="goto" key="D-G"/>
> in NetBeans-keybindings.xml
> so I've temporarily disabled the remapping until we complete the fix.
> http://hg.netbeans.org/jet-main/rev/f7f671e4afa0

That's the ticket, there's that and more in conflict, see comment #2.

> > > Regarding the Paste By Lines #258742 IMO the more typical is to paste a
> > > single line at each caret so it should be the default behavior on regular
> > > paste while pasting the whole content at each caret is less typical so it
> > > should should be an extra action and I don't think it deserves a dedicated
> > > shortcut.
> > 
> > I tend to disagree with that conclusion as intuitively I would expect each
> > caret to behave as a single entity. If i wanted every insertion to be the
> > paste buffer which might i clude a single line plus a line feed, I would
> > expect that to insert the whole buffer by default for each insertion, let's
> > suppose I had the following paste buffer
> > 
> > " /** */
> > private final "
> > 
> > And I had the following carets
> > 
> >     |int id;
> >     |String name;
> > 
> > I would want by default this to paste the full buffer at both points. This
> > isn't merely a trivial example as I have actually used this practice with
> > the block mode support right now.
> Since I guess that there are no statistics of what is more frequent case in
> practice, let's leave it as it is now.

Cool

> > Another argument would be, when you press enter in multi-caret mode you
> > would expect a new line at every caret.
> But that does not count since we are talking about pasting from the
> clipboard.

True, but since we're talking actual blinky insert carets and not a user selection (like block mode) I would intuitively think that when I paste it would treat each caret as individual carets, particularely if the lines between don't have carets.

> > If no alternate shortcut how woumd you propose both behaviours?
> The action is still reachable by using Edit menu.

Nice, then I'm cool if you want to drop it, I would mostly use the current behaviour as the default anyway but would map the binding in my instance with shift if default behaviour is inversed.

> > I chose to use Opt (Alt) to augment the standard paste function as it's the
> > most natural to understand.
> Yes, I agree with that but I'm not too comfortable with Ctrl+Shift+L
> shortcut for the action on non-Mac platforms.

Right-O. tbh I'm not too familiar with non-mac but would assume ctrl+shift would sound pretty good, if it doesn't conflict :)
Comment 10 Quality Engineering 2016-07-21 01:51:43 UTC
Integrated into 'main-silver', will be available in build *201607210002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/f7f671e4afa0
User: Miloslav Metelka <mmetelka@netbeans.org>
Log: #262728 - [82cat] New multi-caret support has invalid key bindings for OS X - removed C-G remapping temporarily as it conflicts with D-G for "goto" action.
Comment 11 brettryan 2016-07-21 02:40:41 UTC
I've just checked the update and it's just the removal of add-caret-next.

What is wrong with the patch I supplied? I've been using it with no problems building from source and confirmed no conflicts with it.

I also chose the CTRL+U for `Remove Last Added Caret'.
Comment 12 Miloslav Metelka 2016-07-21 15:13:49 UTC
Nothing is wrong with your patch, I just want to patch both Mac and non-Mac shortcuts together so that the change is complete and logical.

I would like to have the same-letter shortcut across platforms where possible (as I've already written above). Personally I know several people working with NB across platforms - both on Mac and Linux and IMHO it would be easier for them to be sure that for a vast majority of our shortcuts the letter of the shortcut is the same and if they know the shortcut on one platform they just need to try several modifier combinations until the right combination is guessed on the other platform.

The current state for multi-caret shortcuts is the following:
    <bind actionName="add-caret-up" key="OS-OPEN_BRACKET"/>
    <bind actionName="add-caret-down" key="OS-CLOSE_BRACKET"/>
    <bind actionName="remove-last-caret" key="DS-J"/>
    <bind actionName="addCaretSelectNext" key="D-J"/>
    <bind actionName="addCaretSelectAll" key="DSO-J"/>
    <bind actionName="clipboard-lines" key="DS-L"/>

Particularly I don't like Paste as Lines as Non-Mac: Ctrl+Shift+L
I would rather like some shortcut with 'V' letter. I'm ok with the proposed Opt+Cmd+V for Mac platform.
The Alt+Shift+V is assigned to an Introduce Variable Refactoring. There is certain consistency for Alt+Shift+Letter for Introduce ... Refactorings but we generally we might open a question whether Introduce Variable would be more often used than Paste as Lines. Anyway currently the only choice that seems available is Ctrl+Alt+Shift+V which is of course three-modifier shortcut but from the logical point of view it's IMHO better than Ctrl+Shift+L. 

I'm ok with having Opt+Cmd+Up/Down for Alt+Shift+[/] but I still think that in addition we should offer an alternative containing '[' and ']' with some non-conflicting modifiers combination on Mac too.

Regarding "D-J" "DS-J" and "DSO-J" there is certain logic so is the "Cmd-J" "Cmd-Shift-J" and "Cmd-Alt-Shift-J" occupied (by system) on Mac? If not I would prefer these due to the same-letter shortcuts preference.
Comment 13 markiewb 2016-07-21 22:42:48 UTC
(In reply to Miloslav Metelka from comment #12)
> Nothing is wrong with your patch, I just want to patch both Mac and non-Mac
> shortcuts together so that the change is complete and logical.
> ... 
> The current state for multi-caret shortcuts is the following:
>     <bind actionName="add-caret-up" key="OS-OPEN_BRACKET"/>
>     <bind actionName="add-caret-down" key="OS-CLOSE_BRACKET"/>
>     <bind actionName="remove-last-caret" key="DS-J"/>
>     <bind actionName="addCaretSelectNext" key="D-J"/>
>     <bind actionName="addCaretSelectAll" key="DSO-J"/>
>     <bind actionName="clipboard-lines" key="DS-L"/>
> 
> .... If not I
> would prefer these due to the same-letter shortcuts preference.

FYI I updated the Eclipse keymap and updated http://wiki.netbeans.org/NewAndNoteworthyNB82.

https://netbeans.org/bugzilla/show_bug.cgi?id=258744#c12 

If you change "clipboard-lines" then please in all major keymaps!
Comment 14 Miloslav Metelka 2016-08-15 12:24:12 UTC
As part of the proposed changes I would make one additional change: in terms of non-Mac shortcuts if I add new carets by pressing Alt+Shift+[ or ] and I add one caret by mistake and I want to undo it by Ctrl+Shift+J caret it's rather inconvenient to switch from Alt+Shift pressed modifiers to Ctrl+Shift.
 So it would be better if "remove-last-caret" would be Alt+Shift+J and "select-identifier" which is currently

    <bind actionName="select-identifier" key="OS-J"/>

would be on Ctrl+L i.e.

    <bind actionName="select-identifier" key="D-L"/>

I'll inspect the other keymaps too if this change would not cause problems there.
Comment 15 brettryan 2016-08-15 13:39:53 UTC
(In reply to Miloslav Metelka from comment #14)
> As part of the proposed changes I would make one additional change: in terms
> of non-Mac shortcuts if I add new carets by pressing Alt+Shift+[ or ] and I
> add one caret by mistake and I want to undo it by Ctrl+Shift+J caret it's
> rather inconvenient to switch from Alt+Shift pressed modifiers to Ctrl+Shift.
>  So it would be better if "remove-last-caret" would be Alt+Shift+J and
> "select-identifier" which is currently
> 
>     <bind actionName="select-identifier" key="OS-J"/>
> 
> would be on Ctrl+L i.e.
> 
>     <bind actionName="select-identifier" key="D-L"/>
> 
> I'll inspect the other keymaps too if this change would not cause problems
> there.

I'm cool with that. Though that's why I suggested CTRL+U. I generally dislike Ctrl/Alt in combination with Shift as it's generally required to cramp your left thumb to action it where Cmd being to the right of both is more comfortable to use in combination with shift.

I know there's a general consensus to try and keep key mappings same between both platforms, but the problem I always find is that with NetBeans doing that it biases towards the windows keyboard where the alt is positioned after the windows key making many OS X shortcuts quite uncomfortable.

For this reason I generally remap many of the shortcuts to be more comfortable, though it's a PITA remembering what I've changed.
Comment 16 Miloslav Metelka 2016-08-16 05:46:17 UTC
http://hg.netbeans.org/jet-main/rev/5ec10428faef
Comment 17 Miloslav Metelka 2016-08-17 13:37:01 UTC
Added proposed extra Mac-specific shortcuts:
Opt+Cmd+Up/Down for Add caret up/down
Opt+Cmd+V for Paste by lines

http://hg.netbeans.org/jet-main/rev/12b0ab1a6ee1
Comment 18 Quality Engineering 2016-08-27 02:17:54 UTC
Integrated into 'main-silver', will be available in build *201608270002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/5ec10428faef
User: Miloslav Metelka <mmetelka@netbeans.org>
Log: #262728 - [82cat] New multi-caret support has invalid key bindings for OS X.
Comment 19 brettryan 2016-08-29 02:34:48 UTC
What are the new key bindings? Am using build 201608280002 and still can't enter multi-caret mode on OS X.

My suggested (and tested) CMD+SHIFT+CLICK does not work, either dose any combinations of CMD/ALT/CTRL/SHIFT+click.

As I see it the only option is to use CMD+SHIFT+CLICK or CMD+OPTION+CLICK unless you can overcome the OS's bindings for click.
Comment 20 brettryan 2016-09-21 06:55:12 UTC
This is not fixed.
Comment 21 Miloslav Metelka 2016-09-21 15:28:21 UTC
Apologies I've already had a patch but it later showed to not be fixing the problem properly since the EditorCaret.isLeftMouseButtonExt() tests META mask and also hyperlink operation does not test to not operate for SHIFT down. The following patch should be working fine. I've tested it on Macbook with OS X 10.10.2.
http://hg.netbeans.org/jet-main/rev/f5104715e419

The shortcuts listed at http://wiki.netbeans.org/NewAndNoteworthyNB82#Editor_Multicarets should now be working properly.
Comment 22 Martin Balin 2016-09-21 18:27:37 UTC
If confirmed by community we can push this to release82.
Comment 23 Quality Engineering 2016-09-22 03:00:51 UTC
Integrated into 'main-silver', will be available in build *201609220002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/f5104715e419
User: Miloslav Metelka <mmetelka@netbeans.org>
Log: #262728 - [82cat] New multi-caret support has invalid key bindings for OS X - Fixed Shift+Cmd+Click for add caret.
Comment 24 Jiri Prox 2016-09-22 09:32:33 UTC
verified in trunk
Comment 25 Miloslav Metelka 2016-09-22 09:40:12 UTC
*** Bug 262731 has been marked as a duplicate of this bug. ***
Comment 26 Miloslav Metelka 2016-09-22 13:20:53 UTC
Integrated in release82:
f5104715e419 transplanted to ccfd795c056c
Comment 27 brettryan 2016-09-26 01:48:48 UTC
I can now verify these bindings now behave correctly.

I would suggest still that Ctrl+Cmd+Shift+J is one hell of a key binding involving three meta keys + 1 alpha, that's going to be hard for everyone to

1) get used to
2) type
3) remember

I've remapped this to CTRL+U. What was wrong with this suggestion?
Comment 28 brettryan 2016-09-26 01:51:16 UTC
Just noticed that none of my suggestions were used, why bother?
Comment 29 Miloslav Metelka 2016-09-26 11:29:56 UTC
(In reply to brettryan from comment #28)
> Just noticed that none of my suggestions were used, why bother?

No, the three shortcuts suggested by you were all added:
Opt+Cmd+Up - Add caret up
Opt+Cmd+Down - Add caret down
Opt+Cmd+V - Paste by lines

Regarding Ctrl+U the Cmd+J is add single occurrence and other modifiers+J combinations were occupied so it's Ctrl+Cmd+Shift+J. Alt+U cannot be used on Windows and Linux since it may be a menu shortcut (on Windows or Linux) but it's true that Ctrl+U could be a Mac specific shortcut in addition to Ctrl+Cmd+Shift+J. Since this issue was integrated into release82 branch I have filed a new issue for Ctrl+U it's issue #268201.
Comment 30 brettryan 2016-09-26 11:41:13 UTC
(In reply to Miloslav Metelka from comment #29)
> (In reply to brettryan from comment #28)
> > Just noticed that none of my suggestions were used, why bother?
> 
> No, the three shortcuts suggested by you were all added:
> Opt+Cmd+Up - Add caret up
> Opt+Cmd+Down - Add caret down
> Opt+Cmd+V - Paste by lines
> 
> Regarding Ctrl+U the Cmd+J is add single occurrence and other modifiers+J
> combinations were occupied so it's Ctrl+Cmd+Shift+J. Alt+U cannot be used on
> Windows and Linux since it may be a menu shortcut (on Windows or Linux) but
> it's true that Ctrl+U could be a Mac specific shortcut in addition to
> Ctrl+Cmd+Shift+J. Since this issue was integrated into release82 branch I
> have filed a new issue for Ctrl+U it's issue #268201.

I owe a huge apology. Where I made the mistake was seeing the "Alt" in the shortcuts [1], On a mac the "native" name for this key is "Option" where it's labelled with "Alt" for transitioning windows users on the OS X keyboard.

 [1]: http://wiki.netbeans.org/NewAndNoteworthyNB82
Comment 31 Miloslav Metelka 2016-09-26 12:23:25 UTC
No problem.
I just did not know whether it's currently more common to use Opt or Alt for that modifier since the two recent Mac keyboards I've used had that key with "alt" label but Opt was just as graphical sign on it so I've used Alt in the wiki reference. But now I know the Opt is more appropriate in Mac community so I will prefer that one when referring to Mac shortcuts. Thanks.
Comment 32 brettryan 2016-10-19 10:18:43 UTC
Hey, just a query here. Do some shortcuts actually change over time between releases?

I've just found that for me CMD+SHIFT+L is conflicting with "Find Usages" which I don't think I ever actually set myself, though after resetting that's now CTRL+F7.

No investigation required, just curious as I wonder what other unsuspecting shortcuts I could have over the years, I've been importing my settings for quite a while.