“Moving efficiently in the CLI”


This is a *very* handy graphic. I’m still stuck on arrow keys too because I don’t remember the shortcuts

(Caveat, these do depend on your particular shell and distro so do check that they work the same)



From the point of view of a non-technical person, that looks incredibly non-intuitive. If not outright intimidating.

Sometimes you use CTRL. Sometimes you use ALT. Why does ALT-B go to the end of the word in one direction, but the other is ALT-F? It seems like there's no particular logic to it and it's all very complicated.

I have to assume it looks much different to someone with experience and skill.

@Nezchan @cypnk i definitely wouldn't describe it as _intuitive_, but it's part of a larger set of conventions and patterns that make a lot of it predictable once you know some other stuff (or other stuff predictable once you know it).

specifically, it uses readline:


...which is common to a bunch of different interfaces, and uses shortcuts originally from emacs and common to a bunch of other text editors. i think they might even work in macos text inputs.

@cypnk @Nezchan it _is_ complicated, but at least speaking for myself, it's one of those things where you learn some mnemonics (ctrl-f for forward, ctrl-b for back, that kind of thing) and eventually they're just kinda muscle memory that you can apply all over the place.

most technical people i know seem to have a favored subset of things like this, and ignore the rest.

@brennen @cypnk

I think the operative word there is "technical people". You get used to this stuff through use, muscle memory, whatever it may be. It's something that, as you say, you use in a few different interfaces so it's your standard.

But the other side is that this kind of diagram, especially when presented as the "efficient" way, that I think scares folks not comfortable with CLI stuff. I can manage a few things, and there was a day I used it a lot more. But that was a long time ago.

@Nezchan @cypnk yeah, there may be better ways to convey this sort of info. i've spent time working on materials theoretically for a less technical audience like this stuff:


...and though i'm not totally ashamed of the cartoon penguins and such, i think i've mostly failed. it's a hard problem.

i guess one thing i've learned is that what clicks for one person is often very different for others, and many approaches are needed.


@cypnk @Nezchan and there are also certainly very many ways that things like command-line UX could be improved for everyone and made less painful for new users. i'm afraid it's often not as active an area of research as it could be because there's a pervasive belief that these environments are only for power users, as opposed to being environments where more people can _learn_ to be a power user.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!