A modern, feature-rich Neovim configuration optimized for web development, systems programming, and efficient code editing.
Full LSP support with automatic server installation via Mason:
- Lua - lua_ls
- TypeScript/JavaScript - ts_ls
- Solidity - solidity, solidity_ls_nomicfoundation
- Rust - rust_analyzer
- Prisma - prismals
LSP features include hover documentation, go-to-definition, code actions, and inline diagnostics.
Intelligent autocompletion powered by nvim-cmp with:
- LSP-based suggestions
- Snippet support via LuaSnip
- VSCode snippet format compatibility
Automatic code formatting and linting through none-ls:
- Lua - StyLua
- JavaScript/TypeScript - Prettier (with .prettierrc detection)
- Solidity - Forge fmt
- JSON - Fixjson
- TOML - Taplo
- Rust - Rustfmt
- Linting - ESLint via eslint_d
Format on save is enabled by default.
- Telescope - Fuzzy file finding and live grep search
- Neo-tree - Sidebar file explorer with git status integration
- Treesitter - Enhanced syntax highlighting and smart indentation
- Gitsigns - Inline git hunks, blame annotations, and diff preview
- Vim-fugitive - Full git command wrapper
- Catppuccin - Macchiato color theme
- Lualine - Enhanced status line
- Alpha - Startup dashboard
- nvim-ufo - Fold code sections
Leader key: <Space>
| Key | Action |
|---|---|
<C-d> |
Half-page down (centered) |
<C-u> |
Half-page up (centered) |
<Cmd-s> |
Format and save |
<D-r> |
Replace all occurrences of a word in the current file |
| Key | Action |
|---|---|
K |
Hover documentation |
gd |
Go to definition |
<leader>ca |
Code actions |
<leader>e |
Expand diagnostic |
zc |
Fold code sections |
zo |
Unfold code sections |
| Key | Action |
|---|---|
<C-p> |
Find files |
<leader>fg |
Live grep |
<C-n> |
Toggle file explorer |
| Key | Action |
|---|---|
<leader>gp |
Preview hunk |
<leader>gt |
Toggle line blame |
~/.config/nvim/
├── init.lua # Entry point and core settings
├── lazy-lock.json # Plugin version lock file
└── lua/
├── vim-cmd.lua # Editor settings
└── plugins/ # Plugin configurations
├── lsp-config.lua
├── completions.lua
├── catppuccin.lua
├── telescope.lua
├── alpha.lua
├── lualine.lua
├── neo-tree.lua
├── nvim-ufo.lua
├── gitsigns.lua
├── treesitter.lua
├── none-ls.lua
└── vim-be-good.lua
- Neovim 0.9.0 or later
- Git
- A Nerd Font (for icons)
- ripgrep (for Telescope live grep)
- Backup your existing Neovim configuration
- Clone this repository to
~/.config/nvim - Open Neovim - plugins will be installed automatically via lazy.nvim
This configuration uses lazy.nvim for plugin management with automatic bootstrapping and update checking.