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.
select text between the insertion point and the end of the current line
. The only line in your example, where the selection does not already include the end of the line, is the last line. So the expected behaviour in OS X is to extend the selection from there, not to cut it short in the beginning line! I know that some Editors behave differently, but they are doing it wrong not the system!(*)
means?(*)
means, but it's probably left over from previous versions of the documentation. I've updated my answer slightly to include the global keybinding only option I know of, but unfortunately I'm pretty sure there's no way to achieve what you're looking for. Since the behaviour is not built-in, applications would not now how to handle it even if you could trigger it.