# Usando atalhos

O Sonic Pi é tanto um instrumento como um ambiente de codificação. Atalhos podem fazer com que tocar o Sonic Pi seja muito mais eficiente e natural - especialmente se estiveres a tocar em frente a uma audiência.

Muito do Sonic Pi pode ser controlado através do teclado. Quanto mais familiaridade tiveres trabalhando e actuando com o Sonic Pi mais tendência terás de usar atalhos. Eu pessoalmente uso o teclado (eu recomendo considerares aprenderes também) sinto-me frustrado quando tenho que alcançar o rato pois isso atrasa-me. Por isso uso todos estes atalhos de uma forma bastante regular!

Assim, se aprenderes os atalhos, aprenderás a usar o teclado de forma efectiva e estarás a fazer live coding como um profissional em tempo record.

No entanto, não tentes aprende-los todos de uma só vez, apenas tenta lembrar-te dos que mais usas e continua a adicionar mais à medida que os praticas.

## Consistência entre plataformas

Imagina que estas a aprender o clarinete. Esperas que todos os clarinetes tenham os mesmos controles e botões. Se não tiverem, terás um tempo difícil a mudar entre vários clarinetes ou ficaras retido em usar só um.

Infelizmente a maioria dos sistemas operativos (Linux, Mac OS X e Windows) vêm com os seus próprios padrões para acções como o copy e paste etc. Sonic Pi tenta honrar estes padrões. no entanto a prioridade é colocada na consistência entre plataformas dentro do Sonic Pi em vez de tentar adaptar-se aos padrões de uma determinada plataforma. Isto significa que quando aprenderes os atalhos enquanto tocas com o Sonic Pi no teu Raspberry Pi, podes mudar para um Mac ou um PC e sentires-te em casa.

## Control e Meta

Parte da noção de consistência é o nome dos atalhos. No Sonic Pi usamos o nome Control e Meta para referir as 2 principais teclas de combinações. Em todas as plataformas o Control é o mesmo. No entanto, no Linux e no Windows Meta é a tecla Alt enquanto que no Mac Meta é a tecla Command. Para consistência usaremos o termo Meta - Lembra-te apenas de mapear para a tecla apropriada no teu sistema operativo.

## Abreviações

Para ajudar a manter as coisas simples e legíveis, usaremos as abreviaturas C- para Control mais uma outra tecla e M- para Meta mais outra tecla. Por exemplo, se um atalho requer que primas simultaneamente Meta e r escreveremos como M-r. O - significa apenas “ao mesmo tempo”.

Os seguintes são alguns dos atalhos que considero mais úteis.

## Parando e iniciando

Em vez de alcançar o rato cada vez que se quer correr o código, podes simplesmente pressionar `M-r`. Da mesma forma podes parar o código carregando `M-s`.

## Navegação

Fico mesmo perdido sem os atalhos de navegação. Recomendo vivamente que passes algum tempo a aprende-los. Estes atalhos trabalhas extremamente bem quando aprendes a teclar sem mexer as mãos pois eles usam letras standard e não requerem que mexas as mãos para alcançar o rato ou as setas do teu teclado.

Podes mover para o inicio da linha com `C-a`, para o final da linha com `C-e`, subir uma linha com `C-p`, para baixo uma linha com `C-n`, um carácter para a frente com `C-f`, e um carácter para trás com `C-b`. Podes até apagar todos os caracteres do cursor até ao final da linha com `C-k`.

## Código limpo

Para auto-alinhar o teu código simplesmente carrega `M-m`.

## Sistema de ajuda

Para comutar o sistema de ajuda podes premir `M-i`- No entanto, um atalho muito mais útil é `C-i` em que irá verificar a palavra por baixo do cursor e mostra os documentos se descobrir algo. Ajuda instantânea!

Para uma listagem completa vê a secção 10.2 com uma folha de ajuda de atalhos.