# Vim Config Lightweight Vim config that mirrors the core editing feel of the Neovim setup without the IDE stack. ## Install ```bash git clone git@github.com:itme-brain/vim.git ~/.vim vim # plugins auto-install on first run ``` Requires `curl` and `git` for vim-plug bootstrap. On NixOS this is managed via home-manager instead. ## How it works - Vim auto-loads `~/.vim/vimrc` — no symlinks needed - [vim-plug](https://github.com/junegunn/vim-plug) auto-downloads itself via curl on first run if missing - Missing plugins are installed with `PlugInstall --sync` on `VimEnter`, then the vimrc is re-sourced - `silent! colorscheme` suppresses errors if the colorscheme hasn't been fetched yet (e.g. offline first run) - Undo history persists to `~/.vim/undodir` across sessions (`undofile`) ## Plugins | Plugin | What it does | |--------|-------------| | base16-vim | Colorscheme (onedark) | | vim-surround | Surround text objects (`cs"'`, `ysiw]`) | | auto-pairs | Auto-close brackets/quotes | | fzf + fzf.vim | Fuzzy finder (files, buffers, grep) | | vim-log-highlighting | Syntax highlighting for log files | | vim-highlightedyank | Flash feedback on yank | | lightline.vim | Statusline | | vim-anzu | Search match count in statusline | ## Keybinds Leader is `Space`. ### File explorer & search | Key | Action | |-----|--------| | `e` | Toggle netrw sidebar | | `/` | Ripgrep search from git root | | `ff` | Find files from git root (fzf) | | `fp` | Recent files (fzf) | | `fb` | Open buffers (fzf) | | `?` | Command history (fzf) | ### Buffers | Key | Action | |-----|--------| | `H` / `L` | Previous / next buffer | | `bd` | Delete buffer safely | ### Windows | Key | Action | |-----|--------| | `` | Navigate windows (skips netrw) | | `` | Resize windows | | `wc` | Close window | | `ws` | Horizontal split | | `wv` | Vertical split | | `wm` | Maximize window | ### Other | Key | Action | |-----|--------| | `` | Clear search highlight | | `` / `` | Scroll half-page (centered) | | `<` / `>` (visual) | Indent and keep selection | | `t` | Terminal (bottom split) | | `ts` | Insert timestamp | | `pu` | PlugUpdate | | `pi` | PlugInstall |