From 2239bd15391b7139d3fe7a50e7d1f80dc76a490d Mon Sep 17 00:00:00 2001 From: Buliway Date: Fri, 10 Jan 2025 18:33:05 +0300 Subject: [PATCH] new nvim readme --- nvim/README.md | 41 ++++++++++++----------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/nvim/README.md b/nvim/README.md index 5133316..6041836 100644 --- a/nvim/README.md +++ b/nvim/README.md @@ -2,6 +2,8 @@ Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить. +Первый запуск конфига может быть долгим. Не прерывай этот процесс, пока не появится меню плагин манагера + Для выбора варианта из автокомплита надо жать ctrl+y, а не enter. Это можно исправить в конфиге, но я решил оставить так, как советует разраб kickstart.nvim, потому что я часто был в ситуации, когда готовая ide даёт мне вариант, но он мне не нужен, я уже написал свой, и мне надо перейти на новую строку, я жму enter и получаю комплит, который мне не нужен, мне новая строка нужна была. Вкладки как в 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 ``` ### Зависимости + +Для работы этого конфига надо установить некоторые пакеты в систему. Часть из них я напишу ниже, часть находится в `packages.nix` в категории `программирование` + Это мне пришлось скачать для работы конфига на NixOS с нужными мне инструментами: - `neovim` - `git` @@ -37,35 +42,8 @@ ln -s ~/nixos-private-dots/nvim ~/.config/nvim - `xclip` на X11 или `wl-clipboard` на Wayland - `tree-sitter` - Любой nerd font -- C/C++: - - `gcc` - - `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) + +Пакеты для разных языков могут часть меняться, так что ищем в `packages.nix` Чтоб понять есть ли проблемы с конфигом, может какие-то пакеты отсутствуют, можно запустить `:healthcheck`. @@ -91,6 +69,11 @@ ln -s ~/nixos-private-dots/nvim ~/.config/nvim | `d` | Delete(copy) to nvim register | | `space d` | Delete(copy) to system clipboard | | `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 | + Бинды в таблице ниже нажимаются без пробела перед ними. Просто бинд