10.1 Korzystanie ze Skrótów Klawiszowych

# Korzystanie ze Skrótów Klawiszowych

Sonic Pi zarówno instrumentem muzycznym jak i środowiskiem programistycznym. 
Skróty klawiszowe mogą więc sprawić, że granie z Sonic Pi będzie 
dużo bardziej *wydajne i naturalne* - zwłaszcza gdy gdy będziesz grać 
na żywo przed publicznością. 

Wiele funkcji Sonic Pi może być kontrolowanych za pomocą klawiatury. 
Gdy posiądziesz już więcej wprawy w pracy i występach z Sonic Pi, 
na pewno zaczniesz używać skrótów coraz częściej i częściej. *Potrafie 
pisać na klawiaturze bezwzrokowo* (I tobie też polecam sie tego nauczyć) 
i czuję frustrację za każdym razem kiedy tylko muszę sięgnąć po myszkę 
ponieważ to mnie spowalnia. W związku z powyższym używam wszystkich 
tych skrótów w kółko!

Ponadto, jeśli nauczysz się skrótów, nauczysz się korzystać z twojej 
klawiatury dużo bardziej efektywnie i zaczniesz kodować na żywo 
niczym profesjonalista w bardzo krótkim czasie.

Jednakże, *nie próbuj i nie ucz się ich wszystkich na raz*, postaraj się 
sprawdzić i zapamiętać tylko te, których używasz najczęśniej. Dopiero 
potem postaraj się regularnie dodawać i ćwiczyć kolejne. 

## Spójność pomiędzy Platformami

Wyobraź sobie, że uczysz się gry na klarnecie. Zapewne oczekiwałbyś, 
że wszystkie klarnety będą zapewniały podobną kontrole i palcowanie. 
Jeśli nie, to potrzebowałbyś sporo czasu za każdym razem gdy przesiadałbyś 
się pomiędzy różnymi klarnetami i tak naprawdę byłbyś wtedy ograniczony 
do korzystania tylko z jednego wybranego modelu.

Na nieszczęście 3 podstawowe systemy operacyjne (Linux, Mac OS X 
i Windows) posiadają swoje własne standardy dla domyślnych akcji 
takich jak np. kopiuj wklej. Sonic Pi postara się honorować wszystkie 
te standardy. Jednakże, *priorytet został położony na spójność pomiędzy 
różnymi platformami*, na których działa Sonic Pi i jest on ważniejszy 
niż próby zapewnienia zgodności z poszczególnymi platformami. Oznacza 
to, że jeśli nauczysz się skrótów klawiszowych gdy będziesz grał na 
Sonic Pi na Raspberry Pi, to będziesz mógł przenieść się na komputer 
marki Apple z systemem Mac OS lub peceta z zainstalowanym Windows'em 
i dalej czuć się jak w domu.

## Klawisze Control i Meta

Częścią dotyczącą pojęcia spójności jest nazewnictwo skrótów. W Sonic Pi 
używamy nazw *Control* i *Meta* dla odniesienia się do dwóch podstawowych 
klawiszy używanych w kombinacjach skrótów. Na wszystkich platformach 
klawisz *Control* odnosi się do tego samego przycisku na klawiaturze. 
Jednakże, w systemach Linux i Window, klawisz *Meta* oznacza klawisz *Alt*, 
podczas gdy w systemie Mac OS klawisz *Meta* oznacza klawisz *Command*. 
Dla zachowania spójności będziemy używali terminu *Meta* - jedyne co 
musisz zapamiętać to to, w jaki sposób zmapować ten termin na odpowiedni 
klawisz dla twojego systemu operacyjnego.

## Skróty

Aby dalsze instrukcje były proste i czytelne, będziemy używać skrótu 
*C-* dla klawisza *Control* plus innego klawisza oraz *M-* dla *Meta* 
plus inny klawisz. Na przykład, jeśli skrót klawiszowy wymaga abyś 
nacisnął razem klawisze *Meta* i *r* zapiszemy to jako `M-r`. Symbol 
*-* oznacza po prostu "w tym samym czasie co".

Przedstawię Ci kilka skrótów klawiszowych, które są dla mnie 
najbardziej przydatne.

## Zatrzymywanie i uruchamianie

Zamiast za każdym razem sięgać po myszkę, aby uruchomić twój kod, możesz 
po prostu nacisnąć skrót `M-r`. Podobnie, aby zatrzymać uruchomiony 
kod możesz nacisnąć `M-s`.

## Nawigacja

Bez skrótów umożliwiających nawigację czuję się naprawdę zagubiony. 
W związku z tym bardzo zalecam ci spędzić tyle czasu ile potrzeba 
aby się ich nauczyć. Skróty te działają również bardzo dobrze kiedy 
już nauczysz się pisać na klawiaturze bezwzrokowo jako, że używają 
one standardowych liter i nie wymagają od ciebie abyś sięgał ręka 
do myszki lub klawiszy ze strzałkami na twojej klawiaturze.

Możesz przenieść się do początku linii naciśniskając skrót `C-a`, 
aby przenieść się na koniec linii naciśnij `C-e`, aby przenieść się 
o 1 linię w górę naciśnij `C-p`, jedną linię w dół `C-n`, aby przesunąć 
sie o jeden znak do przodu użyj `C-f`, jeden znak do tyłu `C-b`. Możesz 
nawet usunąć wszystkie znaki od miejsca, w którym aktualinie znajduje się 
kursor, aż do końca linii używając skrótu `C-k`.

## Elegacki Kod

Aby automatycznie wyrównać twój kod wystarczy, że naciśniesz `M-m`. 

## System Pomocy

Aby pokazać i ukryć system pomocy możesz nacisnąć przycisk `M-i`. Jednakże, 
dużo bardziej przydatnym skrótem, który warto znać jest `C-i` - pozwala on 
na wyszukanie w systemie pomocy słowa, na którym aktualnie znajduje się 
kursor i wyświetlenie tego jeśli uda mu się znaleźć cokolwiek. Pomoc 
błyskawiczna! 

Aby zobaczyć pełną listę dostępnych skrótów klawiszowych zajrzyj do 
rozdziału 10.2 Ściągawka Skrótów Klawiszowych. 
