Зачем программисту горячие клавиши
Сочетания клавиш экономят время и внимание: руки остаются на клавиатуре, а взгляд — на коде. Каждое отдельное нажатие выигрывает секунду, но за час работы таких действий набираются сотни.
Программист постоянно делает одни и те же мелкие операции: копирует строку, отменяет неудачную правку, ищет имя переменной, сдвигает блок кода вправо после нового if, запускает программу ещё раз. Если каждое такое действие требует найти пункт в меню, мысль о задаче прерывается. Сочетание же через неделю практики выполняется «само», как переключение передач у опытного водителя.
Есть и вторая причина. Python чувствителен к отступам, и сдвиг блока целиком через Ctrl+] в IDLE надёжнее, чем добавление пробелов в каждую строку вручную: меньше шансов, что одна строка окажется сдвинута на 3 пробела вместо 4. Руководство PEP 8 требует 4 пробела на уровень отступа[1], и редактор с правильными клавишами соблюдает это автоматически.
Ниже сочетания даны для Windows и Linux. На macOS вместо Ctrl обычно нажимают Cmd, а в IDLE для Mac часть команд назначена иначе — точное сочетание всегда написано справа от пункта в меню.
Базовые сочетания для любого текста
Эти 12 сочетаний работают почти везде: в IDLE, в браузере, в текстовом редакторе и в окне Scratch для названий спрайтов. Их стоит выучить первыми.
| Сочетание | Действие | Когда нужно программисту |
| Ctrl+C | Копировать | Взять кусок кода или текст ошибки |
| Ctrl+V | Вставить | Перенести код в другой файл |
| Ctrl+X | Вырезать | Переставить строки местами |
| Ctrl+A | Выделить всё | Скопировать программу целиком |
| Ctrl+Z | Отменить | Вернуть удалённое или испорченное |
| Ctrl+S | Сохранить | Перед каждым запуском |
| Ctrl+F | Найти | Найти все места с именем переменной |
| Home / End | В начало / в конец строки | Дописать двоеточие в конце |
| Shift+стрелки | Выделять по символу или строке | Выделить несколько строк без мыши |
| Ctrl+стрелка влево/вправо | Переход через слово | Быстро дойти до нужного имени |
| Ctrl+Backspace | Удалить слово слева | Стереть опечатку целиком |
| Alt+Tab | Переключить окно | Перейти от кода к условию задачи |
Повтор отменённого действия в разных программах назначен по-разному: в IDLE это Ctrl+Shift+Z, во многих других редакторах — Ctrl+Y. Если одно не сработало, попробуйте второе. Ещё одна полезная привычка — нажимать Ctrl+S перед каждым запуском: IDLE всё равно попросит сохранить файл, а в других редакторах это защищает от потери работы.
Горячие клавиши в IDLE
IDLE — стандартная среда, которая устанавливается вместе с Python, и у неё 10 сочетаний, особенно полезных для новичка. Главное из них — F5: оно запускает программу в окне Shell, а несохранённый файл IDLE сначала предложит сохранить.
| Клавиши | Что делает в IDLE |
| F5 | Запустить программу (Run Module) |
| Alt+X | Проверить код на синтаксические ошибки без запуска |
| Ctrl+] | Сдвинуть выделенные строки вправо на один уровень |
| Ctrl+[ | Сдвинуть выделенные строки влево |
| Alt+3 | Закомментировать выделенные строки |
| Alt+4 | Убрать комментарий со строк |
| Ctrl+H | Найти и заменить |
| Alt+G | Перейти к строке с номером |
| Ctrl+Space | Показать варианты продолжения имени |
| Alt+/ | Дописать слово, уже встречавшееся в файле |
Сочетание Alt+G особенно полезно при ошибке: Python пишет в сообщении номер строки, например «line 14», а Alt+G переносит курсор прямо туда. Alt+3 ставит перед строками знаки ##: так можно временно «выключить» часть программы и проверить, в ней ли ошибка. Это один из приёмов, которые описаны в статье об отладке программ. Если IDLE ещё не установлен, начните с инструкции по установке Python: среда ставится вместе с ним.
ochki = 0
for raund in range(3):
ochki += 10
print("Раунд", raund + 1, "очки:", ochki)
## print("отладка:", raund)
В этом примере последняя строка закомментирована через Alt+3. Чтобы вернуть её в работу, выделите строку и нажмите Alt+4.
Полное описание меню и команд IDLE есть в официальной документации Python, в разделе, посвящённом этой среде. Там же сказано, что назначения можно поменять в настройках, но для учёбы удобнее стандартные: по ним написаны инструкции и подсказки. Если сочетание из таблицы не срабатывает, откройте меню Edit или Format — справа от каждого пункта указана клавиша, которая действует именно в вашей версии.
Клавиши в окне Shell
Окно Shell — это интерактивный режим, где Python выполняет каждую строку сразу. В нём работают 4 сочетания, которые избавляют от повторного набора и помогают остановить зависшую программу.
- Alt+P. Вернуть предыдущую введённую команду, чтобы исправить её и выполнить снова.
- Alt+N. Перейти к следующей команде в истории.
- Ctrl+C. Прервать работающую программу — например, если цикл никогда не заканчивается; появится KeyboardInterrupt.
- Ctrl+F6. Перезапустить Shell и очистить все созданные переменные.
Ctrl+C в Shell — та самая «аварийная кнопка», которую стоит знать до первого цикла while. Почему программа может работать бесконечно и как это предотвратить, разобрано на странице про бесконечный цикл.
Редактор кода на этом сайте
В редакторе Python на страницах сайта программу запускает сочетание Ctrl+Enter — то же самое, что кнопка «▶ Запустить». Результат появляется справа, в области «Вывод».
Обычные сочетания копирования и вставки работают в редакторе как в любом текстовом поле браузера, поэтому код из примеров на этой странице можно скопировать через Ctrl+C и вставить через Ctrl+V. Кнопка «Сбросить» возвращает стартовый код, если эксперимент зашёл слишком далеко. Черновик сохраняется в браузере, а защита от бесконечного цикла остановит программу, если она работает слишком долго. Подробнее о возможностях и ограничениях — на странице про онлайн-редактор Python.
Как выучить сочетания и не забыть
Чтобы сочетание стало привычкой, его нужно повторять в настоящей работе, а не заучивать списком: берите 2–3 новых в неделю и заставляйте себя пользоваться ими вместо мыши.
Хорошо работает простой приём: наклейте рядом с монитором листок с тремя сочетаниями, которые учите сейчас. Каждый раз, когда рука тянется к мыши за пунктом меню, остановитесь и нажмите клавиши. Через неделю листок можно заменить. Обзор Cepeda и соавторов показал, что распределённое повторение — понемногу, но регулярно — запоминается лучше, чем зубрёжка за один вечер[2]. Порядок изучения удобен такой: сначала Ctrl+Z, Ctrl+S, Ctrl+C и Ctrl+V, затем F5 и сдвиг отступов, потом поиск, переход к строке и комментарии.
Родителю не нужно знать все эти сочетания самому. Достаточно предложить ребёнку игру: кто быстрее перенесёт строку в другое место программы без мыши. Если ребёнок только знакомится с клавиатурой, начните с выбора удобного устройства — об этом статья про компьютер для программирования.
Когда сочетание не работает или не нужно
Не стоит ждать, что одно и то же сочетание сработает в любой программе: назначения отличаются, а иногда клавиатура вовсе не главный инструмент. Вот 4 типичных случая.
- Другая раскладка или ноутбук. На части ноутбуков F5 срабатывает только вместе с клавишей Fn, иначе меняет яркость или громкость.
- Ребёнок 5–7 лет в ScratchJr. Там всё делается касаниями на планшете, и горячие клавиши не нужны вообще.
- Scratch. Блоки перетаскивают мышью, поэтому из сочетаний полезны в основном 2: копирование и отмена.
- Чужая программа на 100 строк. Сочетания ускоряют правку, но не объясняют, что делает код: его всё равно придётся читать строку за строкой.
Миф: «Настоящие программисты вообще не пользуются мышью». Это не подтверждается: мышь удобна для навигации по большим проектам и интерфейсам. Горячие клавиши ускоряют частые действия, но не заменяют мышь полностью.
Миф: «Сочетания одинаковы во всех редакторах». Единого стандарта не существует: даже повтор отменённого действия в IDLE и в других программах назначен по-разному. Проверяйте меню своей среды.
Чего делать нельзя
Нельзя учить сочетания ценой качества кода: быстрота полезна, только если программа остаётся аккуратной. Вот шесть правил.
- Нельзя выравнивать отступы пробелами вручную в длинном блоке, если есть Ctrl+] и Ctrl+[.
- Не следует копировать код из интернета целиком через Ctrl+C и Ctrl+V, не прочитав его: так попадают чужие ошибки.
- Не стоит удалять «лишние» строки без Ctrl+Z в запасе: сначала закомментируйте их через Alt+3.
- Не допускается смешивать табы и пробелы в одном файле — Python ответит ошибкой отступа.
- Не стоит запоминать больше 3 новых сочетаний за раз: остальные вытеснят друг друга.
- Не следует забывать о перерывах: СанПиН ограничивает непрерывное использование электронных средств обучения[3].
Если после сдвига строк Python всё-таки пишет об ошибке отступа, разберитесь с сообщением на странице об ошибке IndentationError.
Источники
[1] van Rossum G., Warsaw B., Coghlan N. PEP 8 — Style Guide for Python Code. Python Software Foundation, 2001.
[2] Cepeda N. J., Pashler H., Vul E., Wixted J. T., Rohrer D. Distributed practice in verbal recall tasks: A review and quantitative synthesis // Psychological Bulletin. 2006. Vol. 132, № 3. P. 354–380.
[3] СанПиН 1.2.3685-21 «Гигиенические нормативы и требования к обеспечению безопасности и (или) безвредности для человека факторов среды обитания», утв. постановлением Главного государственного санитарного врача РФ от 28.01.2021 № 2, таблица 6.8.
[4] The Python Tutorial (официальная документация Python 3). Python Software Foundation.
Вопросы и ответы
Какие горячие клавиши выучить первыми?
Ctrl+Z, Ctrl+S, Ctrl+C и Ctrl+V — они работают везде. Для Python сразу добавьте F5 в IDLE или Ctrl+Enter в редакторе на сайте.
Как в IDLE закомментировать сразу много строк?
Выделите строки и нажмите Alt+3: перед каждой появится ##. Чтобы убрать комментарий, выделите их снова и нажмите Alt+4.
Почему F5 на ноутбуке меняет яркость?
На многих ноутбуках верхний ряд по умолчанию управляет яркостью и звуком. Нажмите Fn+F5 или поменяйте режим функциональных клавиш в настройках.
Как остановить программу, которая зависла?
В окне Shell IDLE нажмите Ctrl+C — Python прервёт выполнение. В редакторе на сайте программу остановит встроенное ограничение времени.
Где посмотреть все сочетания IDLE?
В меню Options → Configure IDLE, вкладка Keys. Там же их можно переназначить, но новичку лучше пользоваться стандартными: они совпадают с официальной документацией Python.
Нужна ли слепая печать, чтобы программировать?
Не обязательна, но помогает: взгляд остаётся на экране. Для начала достаточно уверенно находить скобки, двоеточие, кавычки и знак решётки.