Although I'm a Mac user for several years now, this noob-question is stuck in my head since the beginning:
I'm selecting a text by holding down Shift and moving around with the cursors.
Imagine I start at one line, press Down and then want to move my selection end to the beginning of the line (just like pressing Left all the way): how do I do that on Mac?
Pressing Home or Cmd+Left always moves the beginning of the selection to the beginning of its line (which is also kinda cool, but doesn't help me here).
I've even made a gif about this to demonstrate:
Best Answer
Once you grasp the pattern, it's quite easy...
To move to the next/last letter - → or ←
To move to the next/last word - Opt ⌥ → or Opt ⌥ ←
To move to the beginning/end of a line - Cmd ⌘ ← or Cmd ⌘ →
Hold Shift ⇧ whilst doing any of these & it will add to your current selection if you are moving away from your original insertion point, otherwise it will remove...
...with the exception of Cmd ⌘ , which will always add.
As you've discovered, all these functions use your original cursor point, not the beginning/end of your current selection. That would perhaps require a little mind-reading, to know which end you wanted to work from ;-)
For your specific situation, if you start with Shift ⇧ held, then Cmd ⌘ → , then just → - 'to end of line plus one character'
Alternatively, holding Shift ⇧ , then ↓ followed by a number of Opt ⌥ ← would be quicker than just ← - 'to middle of line below minus several words, one at a time'