Block select with cursor

Block editing works really great, but this bothers me:
Block selecting with the keyboard always jumps back to line endings.

I have the following code:

call_proc(
    short_param_name
    very_very_very_long_param_name
  );

I would like to make these named parameters and align the =>

call_proc(
    short_param_name               => 
    very_very_very_long_param_name => 
  );

The easiest way is navigate after the second parameter, block select up and type => for all lines. This works fine with the mouse (Alt+Shift+Click) but the keyboard (Alt+Shift+Up) does this:

image
I believe that block select should not jump back to line endings, what do you think? Thanks!


BTW: It works with the option "Cursor beyond end of line" but I want to keep the existing behavior for everything exception block select.