Multiple Selections in IDEA 13.1 RC1


first I would like to say a big Thank You for bringing multiple selections/cursors to IDEA! This a feature
that I have really taken to in Sublime Text and am relieved and pleased that I don't have to give it up
when using my other favourite code editor.

Having spent a few minutes I would like to provide my feedback on aspects that I would like to see improvment on.

1/ When I first select a word with Alt-J, if I then try to expand the selection using cursor keys the beginning
of the selections moves. I would normally want to expand the end of the selection but the way it works now
forces me to reselect or switch to using the mouse or trackpad. I would prefer it if I could remain using keyboard
navigation as much as possible.

2/ When 'Esc' is pressed to exit this mode, the single cursor jumps to the position of last selection rather than
the original selection.I find this jarring and mostly prefer to work downwards so having to jump back up takes
me a little while longer. Maybe the behaviour could be a choice in the settings?

3/ Would it be possible to skip a selection when doing the mutiple selection? For instance if I only wanted to
edit the 1st, 2nd and 4th instance of a selection and miss out the 3rd. I would imagine this would take the form
of having a 'skip next occurrence' key combination. I know this can be done using the mouse but again, it would
allow me stay on the keyboard as much as possible.

I understand that these thoughts are based on my own usage and that it is very difficult to get consensus on
user interface processes. It would be good to hear other users thoughts on this.

Best regards,


Comment actions Permalink

Hello, Joc,

Thanks for your feedback!

Points 2 and 3 have corresponding tickets already in YouTrack - please vote for and

As for point 1, current behaviour is the same as for 'select word' functionality (Ctrl-W). To make it work in the desired way, you could first put the caret at the end of the word. If you'd like to change that behaviour, please create a new ticket in YouTrack.

Comment actions Permalink

I think it should also have a keyboard shortcut without the shift key by default. I end up with a selection instead of mulitple cursors quite frequently when I try to add some cursors with alt+shift+click. This is annoying, especially when it happens after placing a couple of cursors. Maybe that could be related to the order/timing of the key presses of alt and shift?

How about navigating with multiple cursors? Should the positions of the cursors stay fixed to each other when cursor up/down is pressed or is there a way that their relative position could change?

I had a bunch of

public void set|Stuff1(...) {

public Object get|Stuff1() {

as initial cursor placement but with a couple cursor up/down presses I ended up with something like

public void set|Stuff2(...) {

public Object getSt|uff2() {

Is this something that should be expected to happen in some cases (which?) or should I file an issue for that?

I always thought how much more can you do with an editor, but this really is a pleasant addition to IDEA. Thanks for adding this!

Comment actions Permalink

Unfortunately, most of convenient shortcuts are already assigned by default to other actions. If you don't need one of those actions, you can remap Alt-Shift-Click in Settings->Keymap to something of your choice.

As for the issue you are describing, I doubt it can be related to the timing of keypresses - I assume you press Alt-Shift once, and then holding them click the mouse. Maybe the problem is the accidental move of the mouse while you are clicking, which 'converts' click into drag? Currently the implementation is quite sensitive to that. If possible, please create a screencast and file and issue for that.

As for the second issue you're mentioning, not sure I understand what exactly is the problem (screencast or precise steps to reproduce would also help here). In most cases the carets behave independently on typing/moving/etc. If you see some caret in a multicaret state that behave differently from how a single caret would behave on the same user input, this is most probably an issue.


Please sign in to leave a comment.