B.1 Использование клавиатурных сочетаний

# Использование клавиатурных сочетаний

Sonic Pi такой же инструмент, как и среда разработки. Следовательно, клавиатурные сочетания могут сделать работу c Sonic Pi намного более *эффективной и естественной* - особенно когда вы играете вживую перед аудиторией.

Многое в Sonic Pi может контролироваться с помощью клавиатуры. Когда вы лучше познакомитесь с работой и выступлениями с Sonic Pi, вы, вероятно, начнёте использовать клавиатурные сочетания всё чаще и чаще. *Лично я печатаю вслепую* (рекомендую обдумать возможность обучения этому навыку) и огорчаюсь всякий раз, когда мне нужно тянуться за мышкой, так как это меня замедляет. Поэтому я использую все эти клавиатурные сочетания на постоянной основе!

Следовательно, если вы изучите эти клавиатурные сочетания, вы узнаете, как эффективно использовать клавиатуру, и вы начнёте кодировать вживую как профи в кратчайшие сроки.

Однако, *не пытайтесь выучить все сочетания за один раз*, просто пробуйте и запоминайте те сочетания, которые вы используете наиболее часто, а затем продолжайте добавлять новые в свою практику.

## Согласованность всех платформ

Представьте, что вы учитесь играть на кларнете. Вы ожидаете, что все кларнеты производятся со схожими элементами управления и аппликатурой. Если нет, вам будет трудно переключаться между различными кларнетами и вы будете вынуждены использовать всего один.

К сожалению три основные операционные системы (Linux, Mac ОС X и Windows) поставляются с собственными стандартами по умолчанию для таких действий, как вырезать, вставить и т. д. Sonic Pi будет пытаться соблюдать эти стандарты. Однако, вместо попыток соответствовать стандартам текущей платформы, Sonic Pi *приоритетное внимание уделяет согласованности между платформами*. Это значит, что если вы изучите сочетания клавиш во время игры с Sonic Pi на Raspberry Pi, то сможете перейти на Mac или PC и чувствовать себя там как дома.

## Control и Meta

Частью понятия согласованности является именование клавиатурных сочетаний. В Sonic Pi мы используем имена *Control* и *Meta*, ссылаясь на две главные комбинации клавиш. На всех платформах *Control* один и тот же (Ctrl). Однако, на Linux и Windows, *Meta* - это клавиша *Alt*, в то время как на Mac, *Meta* - это клавиша *Command*. Для единообразия мы будем использовать термин *Meta* - только не забудьте сопоставить его с соответствующей клавишей вашей операционной системы.

## Аббревиатуры

Чтобы сохранить вещи простыми и читабельными, мы будем использовать аббревиатуры - *С-* для *Control* плюс ещё одна клавиша, и *М-* - для *Meta* плюс ещё одна клавиша. Например, если клавиатурное сочетание требует от нас нажать одновременно *Meta* и *r*, мы напишем это как `M-r`. Символ *-* означает "одновременно с".

Ниже приведены клавиатурные сочетания, которые я считаю самыми полезными.

## Выполнение и остановка

Вместо того, чтобы постоянно тянуться за мышью, чтобы выполнить свой код, вы можете просто нажать `M-r`. Аналогично, чтобы остановить выполнение кода, вы можете нажать `M-s`.

## Навигация

Я действительно потерялся бы без навигационных клавиш. Поэтому я настоятельно рекомендую вам потратить время, чтобы выучить их. Эти клавиатурные комбинации работают чрезвычайно хорошо в том случае, если вы освоили слепую печать, так как они используют обычные буквы и не нужно перемещать руку на мышь или клавиши со стрелками на вашей клавиатуре.

Вы можете двигаться к началу строки, используя `C-a`, к концу строки, используя `C-e`, на строку вверх - `C-p`, на строку вниз - `C-n`, на символ вперёд - `C-f`, и на символ назад - `C-b`.

## Аккуратный код

Чтобы применить автовыравнивание к вашему коду, просто нажмите `M-m`.

## Справочная система

Для перехода к справочной системе вы можете нажать `M-i`. Однако, гораздо полезнее знать сочетание `C-i`, которое будет искать слово под курсором в документации и отображать её, если что-нибудь найдет. Мгновенная помощь!

Чтобы увидеть полный список клавиатурных сочетаний, загляните в раздел 10.2 Шпаргалка по клавиатурным сочетаниям.
