4 ms·
While CLI users are reading article after article to discover hidden features of their tools, I'm using a GUI that makes those features obvious and streamlines
by wayneftw 6y ago
While CLI users are reading article after article to discover hidden features of their tools, I'm using a GUI that makes those features obvious and streamlines actions to make my work go faster than any CLI user could possibly achieve outside of automating their workflow entirely.
And I do everything with the keyboard.
I do this on Linux, Mac and Windows with VS Code. Before I used VS Code, on Windows I'd use TortoiseGit - again, all with the keyboard. I can operate the entirety of Windows with just a keyboard and most of XFCE on Linux.
To be fair, entering multiple lines of text into the VS Code Git commit sidebar is somewhat "hidden" as well, but using Shift+Enter to get a newline is fairly common and easy to try and guess.
- MayeulC 6y agoEven when using the command line, you typically use an interactive editor to type your commit. Enter is enough to create a new line. What you are saying doesn't help when automating things, unless you want to make a macro that controls the mouse and keyboard? That'd be risky. GUIs are great for discovering features. So great in fact that the API ("user interface") often changes, if only by a bit. Terrible if you are in this for the long run, or want to automate things. I don't really want this to be a command-line vs GUi thread, but you kind of started it (even if a bit off-topic). > but using Shift+Enter to get a newline is fairly common and easy to try and guess. How on Earth is that intuitive? User interfaces (coomand line, GUI, web, voice) typically rely on common patterns (desktop metaphor, doule click, right click, alt+letter, F1, ctrl+c, etc) being memorized by their users. At least, command line interfaces have the merit of often being documented (that feature is documented line 91 of my offline `man git commit`). I had overlooked that bit, but had I needed it, that would have been pretty easy to find. Most GUI software do not even pretend to have documentation anymore (KDE is still pretty good at this). command-line vs GUI is a choice. I work most often with the former as I've grown comfortable with its patterns over time, after seeing it a lot. An added benefit is that I can often re-purpose the knowledge I learn for writing scripts. But not everyone necessarily needs to do so. And I think that picking the same tool for every task is pretty dumb. I like GUIs a lot for stuff I'm not familiar with, or don't do often.
- throwaway43234 6y ago> At least, command line interfaces have the merit of often being documented (that feature is documented line 91 of my offline `man git commit`) By default, pressing "Enter" in VS Code adds a new line. I don't think that needs to be documented. And the input box for the commit message says as its placeholder "Cmd+Enter to commit on [branch]", which is a whole lot more discoverable than going to line 91 of some man page. Plus, every keybinding can be searched and configured using the built in keybinding editor. >> but using Shift+Enter to get a newline is fairly common and easy to try and guess. > How on Earth is that intuitive? User interfaces (coomand line, GUI, web, voice) typically rely on common patterns You'll find many "Enter to submit" boxes across the technosphere have some way of adding a new line, typically shiftenter, ctrlenter, etc. So this is a common pattern.
- fphilipe 6y agoSkimming the help of a git command once in a while (or when you have that feeling that there must be a way to achieve a specific thing) is rather quick and, thanks the pager's built in search feature, very accessible. Having an alias for help (and for git) makes this quite convenient: $ g h commit Then search for something in there, e.g. `/stdin<ENTER>`.
- axegon_ 6y agoI refuse to use GUI's for multiple reasons and I've been using the -m flag for as long as I can remember... Truthfully I've never been big on fancy IDE's or GUI's, which eat up cpu, memory and disk io like a bodybuilder after a training session.