You might struggle to use a mouse (lots of folks do) but for those of us that grew up using it as a much more accurate pointing tool... I'd wager none of the things you've listed present much of a challenge or thought.
Like this:
>it's still usually easier, faster, less error-prone, and more reproducible to grab the entire screenful of text without specifically selecting what I want (e.g., C-A or Cmd-A (Mac)), and then trim to size within vim.
That's funny - I found it incredibly quick and easy to simply select that portion of your comment with my mouse. I didn't have to trim, or take extra, or think about it. I just selected the content I wanted with the mouse in about a quarter of a second.
2. Text-based selection and interaction work at the context of text. It's really hard to express how powerful this is if you've not internalised it.
3. On many GUI-based devices, the mouse is no longer the mouse, but the finger. This raises a whole host of additional issues:
- You're now covering up what it is you want to select.
- Your selection is no longer based on a single pixel (the apex of the pointer itself) but a region.
- There's the inherent ambiguity between selection and movement. That is, when, where I'm touching the screen, do I intend to scroll the display and when do I intend to select or interact with elements on it? In over a decade's use of touch devices I've yet to see either hardware or software which isn't subject to this failure, constantly.
- Hardware keyboards are highly effective for text input. (I'm writing this on an Android device with an external keyboard. Touch keyboards ... suck and blow, as the saying goes.)
You might struggle to use vim (lots of folks do), but for those of us that grew up using it as a much more accurate text-manipulation tool ... I'd wager none of the things you've listed present much of a challenge or thought.
The point of vim (or Emacs) is that those keystrokes simply become internalised. I don't think through actions, they simply happen.
In a GUI, I'm constantly fighting the interface.
________________________________
Notes:
1. Along with a whole host of other editors, virtually none of which are currently extant or readily available: Wordstar, Mac Edit, MacWrite, DOS Edit, WordPerfect, AmiPro, the TSO/ISPF editor, VAX EDT and EVE, emacs, multiple generations of MS Word, Notepad, MS Write, the whole StarOffice / OpenOffice / NeoOffice line, etc. Vi/vim's pretty much always present, always works, and has evolved incrementally over the 30+ years I've used it such that I'm never faced with the prospect of discarding accumulated technical-knowledge capital.
Yes, the first few weeks were ugly. Steep learning curve. High payoff function.
I'm not sure, emacs by default runs in a graphical terminal and has features that are often easier to use with a mouse, like tab bars or mode line buttons. It feels more at home to me there than in a text terminal, even if the mouse can work with either.
I hear bicycles sometimes come with training wheels.
In which case I'd agree, if you've internalised that mechanism.
- Repositioning the cursor by incrementally searching for the word you want to move to is more accurate, quite fast (3-4 letters is virtually always sufficient to find the word in question), keeps you in the text / document "head", and leaves your hands on the keyboard.
- Yank (y) + movement (w for word, ) for sentence, } for paragraph, 'yi<modifier>' for copy within marks (quotes, braces, angle-brackets, parenthesis, etc.) is also amazingly fast.
- Visual mode can be used to select specific blocks of text where necessary.
- If I want to select specific fields from a file, I'll usually either use tools for that purpose (cut, sed, awk), or read in the entire file and edit it down from within vim. The tools-based approach means I can reproduce the task readily if I need to do it repeatedly.
And finally, where I'm dumping text from some GUI app to vim ... it's still usually easier, faster, less error-prone, and more reproducible to grab the entire screenful of text without specifically selecting what I want (e.g., C-A or Cmd-A (Mac)), and then trim to size within vim. Again, vim's tools permit working with text as text rather than with text as a GUI presentation.
I'm not saying I never use the mouse for text selection, but it is far less common than you might think, and much more cumbersome.