How about Alt + h and Alt + l selecting to, the _content boundaries_ first, then the _line boundaries_?
··This is [an] example¬
Example 1 – Executing Alt + h:
··[This is an] example¬
Example 2 – Executing Alt + h:
[··This is an] example¬
Example 3 – Executing Alt + l:
[··This is an example]¬
Example 4 – Executing Alt + l:
[··This is an example¬]
I think what's really missing is a proper line text-object. If it's x then you can use regular combo like [x, <a-}>x…
What about:
····This is a[n] example··→ ¬
Alt+l: always selects until leading whitespace
····[This is an] example··→ ¬
Alt+L: always selects to the beginning of the line
[····This is an] example··→ ¬
Alt+h: always selects till trailing whitespaces
[····This is an example]··→ ¬
Alt+H: always selects till end of the line
[····This is an example··→ ¬]
This matches other keys behavior, where key tryes to be smart, but when another modifier is involved it becomes non-smart, like smart Shift+8 and non-smart Shift+Alt+8. Although it involves more chording.
I prefer the smart version interactively.
And for scripting g, h / G, h / g, l / G, l.
Most helpful comment
I think what's really missing is a proper line text-object. If it's
xthen you can use regular combo like[x,<a-}>x…