I've selected some text using my keyboard, starting at the bottom line and moving up (the | character indicates the cursor position):
AAA |{BBB CCC
DDD} EEE FFF
Now, I would like to change the selection so that it starts at the end of the first line, i.e. so that it looks like this:
Expected result:
AAA BBB CCC |{
DDD} EEE FFF
I can reduce the selection word-by-word with ⌥ ⇧ →:
But the natural way to do it would be via ⌘ ⇧ →, to jump directly to the end of the first line. In many decent text editors this works fine (for instance Sublime Text 2). They also keep the |
position visible when text is selected btw.
The default behaviour of OSX apps, however, is that they ignore the fact that the cursor is currently at the start of the selection, and moving it to the right should remove the selection there. Instead, ⌘ ⇧→ always extends the selection from its end until the end of the line, no matter where the cursor currently is:
Actual result:
AAA {BBB CCC
DDD EEE FFF}|
Is there any way to make also native OSX apps behave the expected way?
I'm on OSX Yosemite 10.10.2 but I think this issue has been there as long as I can remember.
Best Answer
Mac doesn't use the cursor position if you have a multiple text selection, it considers the cursor is at 'all selected text'.
You can see this demonstrated if you use Cmd ⌘ Shift ⇧ ← instead of →
Adding to the selection with Shift ⇧ includes the previous selection.
Not a fix, but a workaround might be → which would move the cursor to the end of your current selection, simultaneously deselecting it, then Cmd ⌘ Shift ⇧ ← to select to the beginning of the line.