4 ms·
I suppose one of the advantages of a GUI is that it shows you what options are available; it's kind of inherently "explorable". There's probably a few factors
by danielbarla 12y ago
I suppose one of the advantages of a GUI is that it shows you what options are available; it's kind of inherently "explorable".
There's probably a few factors that confound this. First, a GUI for something as abstract and powerful as VI is difficult to create, and still keep usable. The only way I can really imagine it is a kind of tutorial overlay which presents common options on the screen. Similar problem for the shell, I guess, there are just too many things you can / want to do in there to distill into a GUI.
Second, I suspect that these tools come from an age where people had different expectations, and with those, different ways of looking for help. I guess most *nix people are aware of man-pages, and are pretty efficient at reading it's syntax. Despite it's lack of GUI, VIM tries pretty hard to point you to the help (e.g. on my installation, the help commands are always shown when you start it - I guess this is by default).
- VLM 12y ago> it's kind of inherently "explorable" The CLI version of this is using two "things" at the same time, one thing in the CLI and another thing in some form of docs or tutorial or google result or whatever. Where "thing" equals window, monitor, screen/tmux, console tab, whatever. (edited to add, I've never learned a programming language any other way, in the olden days we used ink on paper books as the "other screen") > different ways of looking for help Windows / GUI way is one huge app that does absolutely everything and includes the entire world within it including all documentation and tutorials and its a failure to ever need anything outside that app, no matter if its a tool or a doc. This doesn't scale very well. Unix / CLI way is many tools each perfect at one task, and the perfect tool for docs might be some tutorial on the net or perhaps a manpage, and that is philosophically the way it should be. Feature not bug. This scales pretty well. GUI way is a swiss army knife. CLI way is a Wiha made in Germany of chromed hardened tool steel posidriv shape size #1 50mm blade length, which costs as much as a generic Chinese swiss army knife, but is a world class screwdriver.
- danielbarla 12y agoAgreed, although the "perfect tool at one task" becomes slightly complex when we consider something like vim. Sure, I consider it to be very good at the "one task" of text editing, but that's such a broad subject, with so many sub tasks that the argument tends to break down. Regarding help and explorability, I mean something a bit more than this. Take man pages for example; if I know what command I want to know more about, it's great. Without that knowledge, it's much harder to get information. In a weird GUI equivalent, you could click on an "administration" screen, and see the top 20 functionalities under that category (say, "you might be looking for: chmod, last, etc). Kind of a hierarchical breakdown of common functionality. Not only is this situation of zero knowledge more prevalent in today's non-expert PC user world, but it's also the way we've been "brought up" in the GUI world.
- VLM 12y agoI believe the command you're looking for is "apropos". In the modern era everyone just uses google to answer questions like that anyway, GUI or CLI. vlm@dev:~$ apropos permissions access (2) - check real user's permissions for a file chmod (2) - change permissions of a file eaccess (3) - check effective user's permissions for a file euidaccess (3) - check effective user's permissions for a file faccessat (2) - check user's permissions of a file relative to a directory file descriptor fchmod (2) - change permissions of a file fchmodat (2) - change permissions of a file relative to a directory file descriptor ioperm (2) - set port input/output permissions WWW::RobotRules (3pm) - database of robots.txt-derived permissions vlm@dev:~$
- qu4z-2 12y agoAlternatively man -k permissions works for me even on some systems that don't have the apropos command.
- dredmorbius 12y agoapropos is often an alias, shell function, or script wrapper around 'man -k'. Actually, on my Debian system, it's a symlink to whatis(1).
- dredmorbius 12y agoThe problem with GUI explorability is that you're limited to the number of options displayable on the screen. Typically that's 8-12 menus, another 10-40 menu entries (and try scanning a menu of 40 entries), with submenus. You end up hiding as much as you reveal, and useful commands are buried under multiple layers of menus and dialogs. By contrast, a commandline help plus a filter (e.g., grep) gives you a rapid way of finding a specific term. Or a commandline manual viewer plus inline search. Tools with autocomplete (the vimperator plugin is a classic case of this, emacs as well) will start completing matching commands and patterns as you type and hit <tab>. It's hugely efficient for cutting through a vast command space. From my bash shell prompt, hitting <tab> twice, I find I've got access to over 3900 commands. Try fitting that into a GUI.