migrations

This commit is contained in:
Rorik Star Platinum 2025-11-22 17:48:07 +03:00
parent d1b0670d71
commit f2b07c9f30
57 changed files with 2970 additions and 1 deletions

View file

@ -0,0 +1,161 @@
**:w** или **:write**
**:bc** или **:buffer-close**
Отлично! В Helix есть мощная LSP-интеграция для навигации по коду. Вот полный гайд:
## Переход к определению и обратно
## Основные команды навигации (goto mode)
Нажми **g** затем:[helix-editor+2](https://docs.helix-editor.com/keymap.html)
**К определению:**
- **gd** — Go to **definition** (переход к определению функции/переменной)[helix-editor+2](https://docs.helix-editor.com/commands.html)
- **gy** — Go to **type definition** (переход к определению типа)[huqingye-1798.xlog+1](https://huqingye-1798.xlog.app/Helix-an-jian-ying-she--zhuan-)
- **gi** — Go to **implementation** (переход к реализации трейта/интерфейса)[helix-editor+1](https://docs.helix-editor.com/keymap.html)
**К использованиям:**
- **gr** — Go to **references** (показать все места, где используется функция)[kapeli+2](https://kapeli.com/cheat_sheets/Helix.docset/Contents/Resources/Documents/index)
## Возврат назад (Jumplist)
После перехода по `gd`, Helix автоматически сохраняет твою предыдущую позицию в **jumplist** (список переходов):[helix-editor](https://docs.helix-editor.com/master/jumplist.html)youtube
- **Ctrl+o** — jump **Out** (вернуться назад по jumplist)[reddit+1](https://www.reddit.com/r/HelixEditor/comments/1hhae1n/undo_go_to_definition/)youtube
- **Ctrl+i** — jump **In** (вернуться вперёд по jumplist)youtube[helix-editor](https://docs.helix-editor.com/master/jumplist.html)
- **Ctrl+s** — вручную сохранить текущую позицию в jumplist[helix-editor](https://docs.helix-editor.com/master/jumplist.html)youtube
**Пример воркфлоу:**
1. Ты на вызове функции `calculate_sum()`
2. Жмёшь **gd** → переходишь к определению
3. Смотришь код, делаешь правки
4. Жмёшь **Ctrl+o** → возвращаешься к вызову
5. Если нужно снова к определению — **Ctrl+i**
## Просмотр всего jumplist
**Space+j** — открыть picker со всеми сохранёнными переходамиyoutube[helix-editor](https://docs.helix-editor.com/master/jumplist.html)
Это интерактивное меню, где видны все позиции, куда ты прыгал. Можешь выбрать любую стрелками и нажать Enter.youtube
## Навигация между вызовами функции
**Найти все использования:**
1. Встань на имя функции
2. Нажми **gr** (goto references)[kapeli+1](https://kapeli.com/cheat_sheets/Helix.docset/Contents/Resources/Documents/index)
3. Откроется picker со всеми местами, где функция вызывается
4. Используй стрелки для выбора, Enter для перехода[huqingye-1798.xlog](https://huqingye-1798.xlog.app/Helix-an-jian-ying-she--zhuan-)
**Переход между функциями в файле:**
- **]f** — следующая функция (next function)[helix-editor+1](https://docs.helix-editor.com/keymap.html)
- **[f** — предыдущая функция (previous function)[huqingye-1798.xlog+1](https://huqingye-1798.xlog.app/Helix-an-jian-ying-she--zhuan-)
Это работает через Tree-sitter (TS), не требует LSP.[helix-editor+1](https://docs.helix-editor.com/keymap.html)
## Навигация по диагностике (ошибки/предупреждения)
Бонус для дебага:[huqingye-1798.xlog+1](https://huqingye-1798.xlog.app/Helix-an-jian-ying-she--zhuan-)
- **]d** — следующая ошибка/предупреждение
- **[d** — предыдущая ошибка
- **[D** — первая ошибка в файле
- **]D** — последняя ошибка в файле
## Полный workflow для Rust-разработки
**Сценарий 1: Изучение чужого кода**
text
`1. Встал на функцию → gd (перешёл к определению) 2. Посмотрел типы → gy (перешёл к type definition) 3. Хочу вернуться → Ctrl+o (назад к вызову) 4. Хочу посмотреть все вызовы → gr (список references) 5. Выбрал другой вызов → Enter 6. Возвращаюсь к первому → Space+j (jumplist picker)`
**Сценарий 2: Рефакторинг**
text
`1. Встал на функцию → gr (показать все вызовы) 2. Перешёл к первому → Enter 3. Сделал правки → Ctrl+s (сохранил позицию в jumplist) 4. Следующий вызов → выбрал из picker 5. Вернулся к предыдущему → Ctrl+o`
**Сценарий 3: Исследование трейтов**
text
`1. Встал на трейт → gy (type definition) 2. Хочу увидеть реализации → gi (implementations) 3. Picker показал все impl блоки → выбираю нужный 4. Возврат → Ctrl+o`
## Горячие клавиши для закладок (опционально)
Если хочешь быстро прыгать между важными местами, используй **marks** (закладки):[helix-editor](https://docs.helix-editor.com/remapping.html)
- **m** затем **буква** — установить закладку (например, `ma` для закладки 'a')
- **` ** (backtick) затем **буква** — перейти к закладке (например, `` ` a``)
Это полезно для долгой работы над одним участком кода.[helix-editor](https://docs.helix-editor.com/remapping.html)
1. [https://docs.helix-editor.com/keymap.html](https://docs.helix-editor.com/keymap.html)
2. [https://docs.helix-editor.com/commands.html](https://docs.helix-editor.com/commands.html)
3. [https://kapeli.com/cheat_sheets/Helix.docset/Contents/Resources/Documents/index](https://kapeli.com/cheat_sheets/Helix.docset/Contents/Resources/Documents/index)
4. [https://www.reddit.com/r/HelixEditor/comments/1hhae1n/undo_go_to_definition/](https://www.reddit.com/r/HelixEditor/comments/1hhae1n/undo_go_to_definition/)
5. [https://huqingye-1798.xlog.app/Helix-an-jian-ying-she--zhuan-](https://huqingye-1798.xlog.app/Helix-an-jian-ying-she--zhuan-)
6. [https://docs.helix-editor.com/master/jumplist.html](https://docs.helix-editor.com/master/jumplist.html)
7. [https://www.youtube.com/watch?v=B3vQDHzsU0g](https://www.youtube.com/watch?v=B3vQDHzsU0g)
8. [https://docs.helix-editor.com/remapping.html](https://docs.helix-editor.com/remapping.html)
9. [https://github.com/helix-editor/helix/issues/3167](https://github.com/helix-editor/helix/issues/3167)
10. [https://zed.dev/docs/key-bindings](https://zed.dev/docs/key-bindings)
В Helix для удаления строки используется **двухнажатийная комбинация** (не одна клавиша, как в некоторых редакторах):
## Основная команда
**x d**
- **x** — выделить текущую строку целиком
- **d** — удалить выделение
Это самый быстрый и стандартный способ в Helix.[](https://pikabu.ru/story/osnovyi_helix_mini_gayd_13142410)
## Удаление нескольких строк
Если нужно удалить несколько строк подряд:
- **5x d** — удалить 5 строк (начиная с текущей вниз)
- **x 3k d** — выделить строку, расширить на 3 строки вверх, удалить
## Удаление и переход в режим вставки
**x c** — удалить строку и сразу войти в insert mode (аналог vim's `cc`)
shift + A - это сразу войти в режим i