# nvim-minimal A small, fast, portable Neovim config. No LSPs, no heavy plugins — just the editing essentials and a familiar UI. Clone it on any machine with Neovim + git and you're editing in seconds. ## Requirements - **Neovim** ≥ 0.10 - **git** (lazy.nvim bootstraps itself and clones plugins on first launch) - a **Nerd Font** installed in your *terminal* for icons in snacks/lualine (optional; config works without it, icons just render as `?`) - a **C compiler + make** (`base-devel` on Arch) — *optional*. The nvim-treesitter languages listed below ship **prebuilt** parsers in the plugin repo, so the configured languages work without any compilation. You only need a compiler if you later add parsers that aren't prebuilt (or force `:TSInstall` to recompile). > On first launch nvim pauses to clone plugins (network, one-time); no compilation > is needed for the bundled languages. ## Install ```sh git clone ~/.config/nvim nvim # lazy.nvim bootstraps and installs plugins; parsers are prebuilt ``` `lazy-lock.json` is committed, so every clone installs identical plugin versions. To bump, run `:Lazy sync` and commit the updated lockfile. ## What's in it - **lazy.nvim** — plugin manager (bootstrap, no LazyVim) - **snacks.nvim** — file picker, explorer, buffer picker - **nvim-treesitter** — highlighting, indentation, treesitter folds - **blink.cmp** — completion (buffer words + file paths; Super-Tab keymap) - **lualine** — statusline - **gitsigns** — git gutter signs - **mini.align / mini.comment / mini.surround** — `gz`·`gZ`, `gc`, `sa/sd/sr` - **`based` colorscheme** — vendored at `colors/based.vim` (self-authored, GPLv3, derived from vim-vividchalk). Transparent against a see-through terminal by default. ## Key bindings | Key | Action | |---|---| | `gb` | buffer picker | | `F` | find files (hidden, ignoring `node_modules`/`.git`) | | `t` | file explorer | | `jj` / `jk` / `kj` / `чя` | escape from insert mode | | `ж` | enter command-line (`:`) — Russian-layout fix | | `gc` | toggle comment (mini.comment) | | `sa` / `sd` / `sr` | add / delete / replace surround (mini.surround) | | `gz` / `gZ` | align / align-with-preview (mini.align) | | `gf` | go to file under cursor (built-in; `path` + `suffixesadd`) | | `` / `` | next / prev completion item (blink) | | `` | accept completion | | `` | show completion + docs | | `` / `` | scroll docs up / down | Arrow keys, ``, ``, and middle-click are deliberately disabled to force home-row habits. ## Notes / limitations - **No LSP.** `gd`/`gr`/hover/etc. rely on built-ins; there is no language server. That's the point. - **blink.cmp prebuilt binary** ships for linux/mac x86_64 & arm64 release tags. On other architectures you'd need a Rust toolchain to build `libblink` (out of scope here). - Filename completion is provided by blink's `path` source; native `` is not configured (blink's `` scrolls docs). ## License GPLv3. `colors/based.vim` keeps its original GPLv3 header; it is derived from `vim-vividchalk` by Tim Pope (permissively licensed), so GPLv3 is compatible.