Using Shortcuts
Sonic Pi is as much an instrument as a coding environment. Shortcuts can
therefore make playing Sonic Pi much more efficient and natural -
especially when youâre playing live in front of an audience.
Much of Sonic Pi can be controlled through the keyboard. As you gain
more familiarity working and performing with Sonic Pi, youâll likely
start using the shortcuts more and more. I personally touch-type (I
recommend you consider learning too) and find myself frustrated whenever
I need to reach for the mouse as it slows me down. I therefore use all
of these shortcuts on a very regular basis!
Therefore, if you learn the shortcuts, youâll learn to use your keyboard
effectively and youâll be live coding like a pro in no time.
However, donât try and learn them all at once, just try and remember the
ones you use most and then keep adding more to your practice.
Imagine youâre learning the clarinet. Youâd expect all clarinets of
all makes to have similar controls and fingerings. If they didnât, youâd
have a tough time switching between different clarinets and youâd be
stuck to using just one make.
Unfortunately the three major operating systems (Linux, Mac OS X and
Windows) come with their own standard defaults for actions such as cut
and paste etc. Sonic Pi will try and honour these standards. However
priority is placed on consistency across platforms within Sonic Pi
rather than attempting to conform to a given platformâs standards. This
means that when you learn the shortcuts whilst playing with Sonic Pi on
your Raspberry Pi, you can move to the Mac or PC and feel right at home.
Part of the notion of consistency is the naming of shortcuts. In Sonic
Pi we use the names Control and Meta to refer to the two main
combination keys. On all platforms Control is the same. However, on
Linux and Windows, Meta is actually the Alt key while on Mac Meta is
the Command key. For consistency weâll use the term Meta - just
remember to map that to the appropriate key on your operating system.
Abbreviations
To help keep things simple and readable, weâll use the abbreviations C-
for Control plus another key and M- for Meta plus another key. For
example, if a shortcut requires you to hold down both Meta and r
weâll write that as M-r
. The - just means âat the same time as.â
The following are some of the shortcuts I find most useful.
Stopping and starting
Instead of always reaching for the mouse to run your code, you can
simply press M-r
. Similarly, to stop running code you can press M-s
.
Navigation
Iâm really lost without the navigation shortcuts. I therefore highly
recommend you spend the time to learn them. These shortcuts also work
extremely well when youâve learned to touch type as they use the
standard letters rather than requiring you to move your hand to the
mouse or the arrow keys on your keyboard.
You can move to the beginning of the line with C-a
, the end of the
line with C-e
, up a line with C-p
, down a line with C-n
, forward a
character with C-f
, and back a character with C-b
. You can even
delete all the characters from the cursor to the end of the line with
C-k
.
Tidy Code
To auto-align your code simply press M-m
.
Help System
To toggle the help system you can press M-i
. However, a much more
useful shortcut to know is C-i
which will look up the word underneath
the cursor and display the docs if it finds anything. Instant help!
For a full list take a look at section B.2 Shortcut Cheatsheet.