Горячие клавиши¶
Привязки внутри окна отладчика. Собственные mappings Neovim — в Командах Neovim, это отдельная система.
Истина в самом окне
F1 или ? внутри окна показывает действующие сейчас привязки, после всех слоёв конфигурации. Если клавиша делает не то, что написано здесь, значит её кто-то переназначил.
Выполнение¶
Работают в любом месте окна, в том числе в полях ввода Evaluate и Watches.
| Аккорд | Имя действия | Что делает |
|---|---|---|
| F9 | continue |
выполнять до следующей точки останова |
| F8 | step_over |
выполнить строку, остановиться на следующей |
| F7 | step_into |
войти в вызов на этой строке |
| Shift+F8 | step_out |
доработать до возврата из функции |
| Cmd+F2 / Ctrl+F2 | terminate |
завершить сессию |
| — | pause |
прервать работающую программу |
| — | restart |
перезапустить сессию |
У pause и restart привязки по умолчанию нет; назначьте её в [ui.keymaps].
Панели¶
| Аккорд | Имя действия | Панель |
|---|---|---|
| Tab | next_panel |
следующая панель по кругу |
| Shift+Tab | previous_panel |
предыдущая панель |
| Ctrl+Tab | next_panel |
то же самое |
| Ctrl+Shift+Tab | previous_panel |
то же самое |
| Ctrl+T | focus_threads |
Threads |
| Ctrl+C | focus_call_stack |
Call Stack |
| Ctrl+V | focus_variables |
Variables |
| Ctrl+W | focus_watches |
Watches |
| Ctrl+E | focus_evaluate |
Evaluate |
| Ctrl+L | focus_logs |
Logs |
| Ctrl+I | focus_inspector |
Inspector |
| Ctrl+B | focus_breakpoints |
Breakpoints |
Буква закреплена за панелью, а не за её местом в раскладке. Буква панели, которую раскладка не показывает, не делает ничего. Стартует фокус на Variables.
Навигация внутри панели¶
| Аккорд | Имя действия | Что делает |
|---|---|---|
| J, Down | next_row |
следующая строка |
| K, Up | previous_row |
предыдущая строка |
| G, Home | top |
первая строка |
| Shift+G, End | bottom |
последняя строка |
| L, Right | expand |
развернуть узел дерева |
| H, Left | collapse |
свернуть узел дерева |
| Enter, Space | activate |
применить |
| D, Del | delete_row |
удалить строку (Watches) |
| Esc | cancel |
выйти из поля ввода |
| F1, ? | help |
показать действующие привязки |
Что означает «применить» в разных панелях¶
| Панель | J / K | Enter |
|---|---|---|
| Threads | курсор по списку | выбрать поток |
| Call Stack | сразу выбирает фрейм | — |
| Variables | выделение в дереве | свернуть / развернуть |
| Watches | курсор по выражениям | войти в поле ввода |
| Evaluate | — | войти в поле ввода |
| Logs | прокрутка на строку | — |
| Breakpoints | выделение точки | открыть место в редакторе |
Shift+G в Logs возвращает автопрокрутку за хвостом, G её отключает.
Поиск по Variables¶
Только в панели Variables. Что именно попадает в область поиска — в разделе «Поиск» страницы Variables.
| Аккорд | Имя действия | Что делает |
|---|---|---|
| / | search |
открыть строку поиска |
| N | search_next |
следующее совпадение |
| Shift+N | search_previous |
предыдущее совпадение |
| Ctrl+/ | search_continue |
продолжить обход после partial |
| Esc | cancel |
сбросить поиск |
Совпадения ищутся с первой набранной буквы. Enter заканчивает ввод и возвращает клавиатуру панели — после этого N и Shift+N ходят по найденному. До этого они обычные буквы и уходят в поле.
Текстовые поля¶
Пока курсор стоит в текстовом поле, буквы остаются буквами — навигация не срабатывает. Аккорды с модификатором, F-клавиши, Esc и Tab работают и оттуда.
Переназначение¶
Четыре слоя, снизу вверх:
- умолчания с этой страницы;
<корень>/.bugsaur-keys.json— аккорд → действие,nullснимает привязку;gui_keymapsвsetup()плагина Neovim;[ui.keymaps]в.bugsaur/config.toml— действие → аккорд,""снимает привязку.
Слои 3 и 4 сливаются по действиям, поэтому проект, переопределивший одно действие, не гасит ваши личные привязки на остальные.
Аккорд — модификаторы Cmd, Ctrl, Alt, Shift через + и имя клавиши
(F1…F20, буква, Enter, Space, ArrowDown, …). Порядок модификаторов не
важен. Неизвестное действие, клавиша или модификатор останавливают запуск: хоткей
с опечаткой иначе просто никогда не срабатывал бы.