I read this post about Emacs (don't get me started please) and some of the features he describes made me realize how low our standards are for usability of a command line interface.
Much in the same way that Microsoft hasn't fundamentally improved MS Paint since well, ever, it is my perception that command line interfaces haven't significantly improved since well, Unix.
I might be wrong, I am not a CLI guy. But here's what I keep looking for that I don't find:
- resize the window with my mouse and have that be meaningful (change the number of columns interactively)
- select, copy, paste text with common mouse and keyboard commands
- autocomplete, intellisense
- persistent command memory (across sessions)
- directory awareness, content visibility
- application awareness (ant, maven plugins that autocomplete targets, projects, etc.)
- hey, tabs?
- unlimited or very large buffer (like a txt file in an editor. You delete history when I tell you to, stupid computer.)
- saving sessions and/or making results accessible as text files
- text folding so I can hide verbose output
I work primarily in Windows, and I've been looking for a DOS prompt replacement that gives me any of this, and I've always been very underwhelmed. It's like getting excited about the next version of windows because you think MS Paint might suck less. Eternal disappointment.
I can see that a lot of what I'm asking for is what Emacs seems to provide, which is basically that your commands are editable in a sane and modern way. Does anyone actually use this feature? And, am I alone? Does the Linux CLI suck just as bad as the Windows prompt? Or am I asking for things that I can never have for some (historical, bad) reason?
Stuff like this really makes me question my own sanity, because the gaping lack of quality tears at my face every time I use these tools, but the people who use and advocate this stuff don't seem to notice it. Perhaps they know tricks I don't, but I think they've just gotten really good at MS Paint.
Also to the point of the article, the big win is not so much that everything is text. It's that somebody paid attention to how the tool is actually used, and put some effort and imagination into it.