![]() No wonder so many people find it difficult to get their footing and opt for simpler editors.īut learning Emacs is more than just memorizing key bindings and commands. Popular guides will also encourage usage of these programs by saying they are “keyboard accessible." The idea that keystrokes can provide a productivity boost but shouldn’t be the only interface is ingrained in the English language.Emacs is a complex beast with tens of thousands of commands and even more settings that you can customize. This principle has not made it into the terminal’s user interactions.Įvery program here consistently quits in a different way from all the other ones.Ī final point here is, even though we are used to discussing these commands as “keyboard shortcuts”, these are not alternatives but the only way to run the command. ![]() He therefore approaches his task with full humility, and avoids clever tricks like the plague.” The mantra DRY (Don’t Repeat Yourself) is programmer dogma and is present in many programming books and classes. Djikstra famously said “the competent programmer is fully aware of the limited size of his own skull. Such an interface is especially galling to the new or infrequent user, but it distracts all users from their task and focuses attention instead on the computer’s needs.”įurthermore, “users rely on recognition, not recall they shouldn’t have to remember anything the computer already knows.”ĭevelopers know this principle very well when it comes to their code. This kind of interface makes considerable demands on the user’s memory - especially when the commands are complex or cryptic. “Command-line interfaces require the user to remember a command and type it onto the computer. As Apple’s human interface guidelines puts it: These programs epitomize remember-and-type over see-and-point. In my experience, pros mess up basic tmux commands again and again. Remembering the one prefix key is not as hard as remembering all the commands to work regularly in a terminal multiplexer. When typing command sequences after the prefix key, no feedback is given and you’ll have to internalize these commands to use tmux. Ctrl-b + :kill-session kills the current session. There are two main options for getting out: Ctrl-b + d will detach the screen session. It provides a lot of functionality, and one basic way to think of it is a way to manage multiple running shells arranged in a number of “windows” + panes.įor tmux, any attempt to communicate directly to tmux involves typing Ctrl-b (we call this the prefix key). It’s rare outside of the terminal to end up in an application where you may not know how to exit. Many people have found themselves in nano because git or arc put them there, even when they have not chosen it as an editor. ![]() Here’s the basic ins-and-(literally!)outs for a bunch of programs, why they can be non intuitive, and why other modern apps aren’t difficult in the same way. ![]() ![]() They are cross-platform, available on even the most limited environments, keyboard-accessible, and if you’re on a remote host it’s often the best option to accomplish some task. Interactive terminal programs are particularly difficult and they behave unlike anything else on your computer.Īs intimidating it is to get started, it can be extremely valuable to know how to use these programs. Today, it’s not revolutionary to say, as Apple did in their human interface guidelines, that “people are not trying to use computers-they’re trying to get their jobs done.” In the terminal, it’s just the opposite: for example, people are trying to use tmux to experience the tao of tmux. It’s true that some popular terminal programs were created after this all happened, but there’s a big difference in their philosophy of the user. Even though we’ve gone from mainframes to hobbyist computers to modern laptops, programmers still interact with the terminal in the same way. ![]()
0 Comments
Leave a Reply. |