As I wrote three weeks ago in these two posts, I’ve renewed my efforts to become semi-proficient with Calc. On the one hand, it’s not that hard. By default, it’s simply a stack based RPN calculator of the sort that I’m very familiar with from my HP calculator days. Some of the symbolic mathematics parts are a bit trickier but not very much so.
What really makes Calc hard is the huge number of commands it implements and the assignment, seemingly higgledy-piggledy, of those commands to one or two letter shortcuts. Unlike a calculator, there’s no convenient
SQRT button to press: you’ve got to remember its shortcut, Q, instead. Suppose, for example, I want to factor the integer 3469394 into its prime factors 2, 17, 67, 1523. I know there’s a command to do that but I don’t use it enough to remember the shortcut—it’s k f but I only know that because I’m peeking at the cheat sheet.
Of course, all those shortcuts are bound to Elisp functions in exactly the same way that Ctrl+x Ctrl+f is bound to
find-file so you can call them directly with Meta+x in the usual way. Now all you have to remember is that the command involves “prime factors” and Avy, Ido, or whatever you use will help you find
calc-prime-factors. But it gets even better. The shortcut x will start the process for you by calling Meta+x and filling in the
calc- part that starts every Calc command. Now to factor 3469394, you simply push it onto the stack, type x and enough of
prime factors for command completion to do its thing.
The power in this is not that it saves some keystrokes but that you can easily find a function whose obscure shortcut you don’t remember. Theoretically,
which-key or something similar will do this too but then you have to remember that the factoring command starts with a k. That’s precisely the hard part; I can probably remember the f on my own.
If you’re always factoring numbers (or whatever) you’ll learn the shortcut of course but what about the Bessel function? Since I learned and internalized the x shortcut, I’m finding it much easier to get a grip on Calc.
Update: I → you (a couple of times)