Important
Though the project is matured and updates very soon, I still need your help.
Do help test the config on different platforms.
This config aims to give you a full IDE-like experience in Neovim, without the bloat.
| # | Feature | Details |
|---|---|---|
| 1 | Indentation | mini.indentscope + indent-blankline.nvim |
| 2 | Autosave | Saves your file every 150ms |
| 3 | Manual format | ;f via conform.nvim |
| 4 | Fullscreen terminal | Toggle with <C-t> |
| 5 | Fuzzy finder | fzf-lua — f + f for files, f + g for grep. Grep motions: gl, gd, gb, ge, gf |
| 6 | Quit | <C-q> |
| 7 | File manager | yazi.nvim, triggered with , |
| 8 | Sessions | <Space>s + key |
| 9 | System clipboard | Yank to system, paste from system |
| 10 | Tabline | PrePacked mini.tabline |
| 11 | Statusline | Prebuilt and useful out of the box |
| 12 | Self-contained modules | Take a look at ~/.config/nvim/lua/module/ -- No unnecessary downloads |
| 13 | Continuous updates | Actively maintained |
| 14 | Prebaked LSPs | No Mason, no binary installs — Neovim manages the LSPs directly (see below) |
| 15 | Fast startup | Smart lazy-loading via lazy.nvim, loads after VimEnter. Uses 50–90% less disk space than a typical plugin setup |
| 16 | Session reload | Easily reload stale sessions |
| 17 | Clean UI | No unneeded popups or animations |
| 18 | Diagnostics panel | <Shift-End> opens diagnostics in a smart horizontal split. <C-S-End> shows workspace diagnostics via fzf-lua |
| 19 | Small footprint | ~/.local/share/nvim/ stays around 60–80 MB, depending on how many Treesitter parsers you install |
| 20 | Lazy Treesitter | nvim-treesitter doesn't load until you run :TSInstall. Installed parsers load after VimEnter |
| 21 | Fast jump | m and M via leap.nvim |
| 22 | Theme | Tokyonight Moon, preinstalled |
| 23 | Autocomplete | blink.cmp + friendly-snippets + ultimate-autopair.nvim |
| 24 | Key hints | mini.clue — a which-key style hint for your next keypress |
| 25 | Nerd Font support | Via mini.icons |
| 26 | Lazygit | lazygit.nvim, <M-g> |
| 27 | Move lines/blocks | mini.move — <M-Up/Down/Left/Right> in normal or visual mode |
| 28 | Default formatting | Linebreak, wrap, and 2-space indent. Change this in lua/sys/options.lua |
| 29 | Surround text | nvim-surround — see its docs for usage |
| 30 | Undo history | undotree, <Space>ut |
| 31 | Multi-cursor editing | vim-visual-multi — see its docs for usage |
| 32 | Formatter engine | conform.nvim |
| 33 | Rust tooling | crates.nvim |
| 34 | Auto-close tags | nvim-ts-autotag for HTML/JSX/TSX |
21 plugins total, kept lean through lazy-loading.
| Plugin | Loads on |
|---|---|
| blink.cmp | InsertEnter |
| friendly-snippets | with blink.cmp |
| fzf-lua | command / session config |
| indent-blankline.nvim | with mini.indent |
| lazy.nvim | startup |
| lazygit.nvim | <M-g> |
| mini.clue | with mini clues module |
| mini.icons | startup |
| mini.indentscope | with mini.indent |
| nvim-treesitter | :TSInstall / :lua |
| plenary.nvim | with lazygit.nvim |
| ultimate-autopair.nvim | InsertEnter |
| conform.nvim | ;f |
| crates.nvim | BufRead Cargo.toml |
| leap.nvim | m, M, gm |
| mini.move | <A-h/j/k/l> (normal & visual) |
| nvim-surround | ys, ds, cs, <C-s> (visual) |
| nvim-ts-autotag | TypeScript, HTML, JavaScript files |
| undotree | <leader>ut |
| vim-visual-multi | <C-n>, <C-Up>, <C-Down> (normal & visual) |
| yazi.nvim | , / :Yazi |
Important
Check docs about adding new server : Servers
lua = "server.HighLevel.lua_ls",
python = "server.HighLevel.pyright",
c = "server.LowLevel.clang",
cpp = "server.LowLevel.clang",
rust = "server.LowLevel.rust_analyzer",
zig = "server.LowLevel.zls",
json = "server.Utilities.jsonls",
css = "server.Web.css_ls",
scss = "server.Web.css_ls",
html = "server.Web.html",
typescript = "server.Web.ts_ls",
javascript = "server.Web.ts_ls",
go = "server.Web.gopls",| Host | Link |
|---|---|
| GitHub | https://github.com/syfos/nvim |
| GitLab | https://gitlab.com/pudep/nvim |
From GitHub:
git clone --depth 1 git@github.com:pudep/nvim.git ~/.config/nvimFrom GitLab:
git clone --depth 1 git@gitlab.com:pudep/nvim.git ~/.config/nvim📌 Note: GUIDE.md is meant for new maintainers and those who will modify the
config.