new nvim readme

This commit is contained in:
Buliway 2025-01-10 18:33:05 +03:00
parent 7dce27ced5
commit 2239bd1539

View file

@ -2,6 +2,8 @@
Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить. Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить.
Первый запуск конфига может быть долгим. Не прерывай этот процесс, пока не появится меню плагин манагера
Для выбора варианта из автокомплита надо жать ctrl+y, а не enter. Это можно исправить в конфиге, но я решил оставить так, как советует разраб kickstart.nvim, потому что я часто был в ситуации, когда готовая ide даёт мне вариант, но он мне не нужен, я уже написал свой, и мне надо перейти на новую строку, я жму enter и получаю комплит, который мне не нужен, мне новая строка нужна была. Для выбора варианта из автокомплита надо жать ctrl+y, а не enter. Это можно исправить в конфиге, но я решил оставить так, как советует разраб kickstart.nvim, потому что я часто был в ситуации, когда готовая ide даёт мне вариант, но он мне не нужен, я уже написал свой, и мне надо перейти на новую строку, я жму enter и получаю комплит, который мне не нужен, мне новая строка нужна была.
Вкладки как в vscode я решил не делать, тут есть более удобный инструмент для этого. Например два раза нажать пробел в нормал моде, откроется меню буферов, тоесть файлов, которые в данный момент открыты. Отображаются они в порядке последнего открытия. Ныне открытый файл там не отображается. Это аналог ctrl+tab в vscode. Можно легко и быстро переключаться между "вкладками". Если надо искать что-то среди файлов проекта, то можно нажать пробел sf, от слов search files. В целом пробел+s это поиск чего-то. Подсказки на экране скажут поиск чего будет происходить. Grep поиск это поиск по содержимому всех файлов проекта. Вкладки как в vscode я решил не делать, тут есть более удобный инструмент для этого. Например два раза нажать пробел в нормал моде, откроется меню буферов, тоесть файлов, которые в данный момент открыты. Отображаются они в порядке последнего открытия. Ныне открытый файл там не отображается. Это аналог ctrl+tab в vscode. Можно легко и быстро переключаться между "вкладками". Если надо искать что-то среди файлов проекта, то можно нажать пробел sf, от слов search files. В целом пробел+s это поиск чего-то. Подсказки на экране скажут поиск чего будет происходить. Grep поиск это поиск по содержимому всех файлов проекта.
@ -28,6 +30,9 @@ LSP list - https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.txt
ln -s ~/nixos-private-dots/nvim ~/.config/nvim ln -s ~/nixos-private-dots/nvim ~/.config/nvim
``` ```
### Зависимости ### Зависимости
Для работы этого конфига надо установить некоторые пакеты в систему. Часть из них я напишу ниже, часть находится в `packages.nix` в категории `программирование`
Это мне пришлось скачать для работы конфига на NixOS с нужными мне инструментами: Это мне пришлось скачать для работы конфига на NixOS с нужными мне инструментами:
- `neovim` - `neovim`
- `git` - `git`
@ -37,35 +42,8 @@ ln -s ~/nixos-private-dots/nvim ~/.config/nvim
- `xclip` на X11 или `wl-clipboard` на Wayland - `xclip` на X11 или `wl-clipboard` на Wayland
- `tree-sitter` - `tree-sitter`
- Любой nerd font - Любой nerd font
- C/C++:
- `gcc` Пакеты для разных языков могут часть меняться, так что ищем в `packages.nix`
- `gnumake`
- `rocmPackages.llvm.clang`
- `ccls` (lsp, нет в mason)
- Lua:
- `lua5_1`
- `luajit`
- `luajitPackages.luarocks` (package manager)
- `lua-language-server` (lsp, из mason не работает на NixOS)
- `stylua` (formatter, из mason не работает на NixOS)
- Rust:
- `rustup` и потом запустить `rustup default stable` + `rustup component add rust-analyzer` в терминале
- `rust-analyzer` (lsp)
- JS/TS:
- `nodejs_23` для npm (package manager)
- Python:
- `python3Full`
- `python3Packages.pip` (package manager)
- `ruff` (linter/formatter, из mason не работает на NixOS)
- Golang:
- `go`
- `golangci-lint` (linter)
- `templ` (HTML UI in Go)
- Nix:
- `nixd` (lsp, нет в mason)
- Bash:
- `shellcheck` (linter)
- `shfmt` (formatter)
Чтоб понять есть ли проблемы с конфигом, может какие-то пакеты отсутствуют, можно запустить `:healthcheck`. Чтоб понять есть ли проблемы с конфигом, может какие-то пакеты отсутствуют, можно запустить `:healthcheck`.
@ -91,6 +69,11 @@ ln -s ~/nixos-private-dots/nvim ~/.config/nvim
| `d` | Delete(copy) to nvim register | | `d` | Delete(copy) to nvim register |
| `space d` | Delete(copy) to system clipboard | | `space d` | Delete(copy) to system clipboard |
| `alt + up/down/j/k` | Move lines in visual mode | | `alt + up/down/j/k` | Move lines in visual mode |
| `[d` | Go to previous `D`iagnostic message |
| `]d` | Go to next `D`iagnostic message |
| `space e` | Show diagnostic `E`rror message |
| `space q` | Open diagnostic `Q`uickfix |
Бинды в таблице ниже нажимаются без пробела перед ними. Просто бинд Бинды в таблице ниже нажимаются без пробела перед ними. Просто бинд