A personal Neovim configuration based on LazyVim, tailored for web development, scripting, and general productivity.
# required
mv ~/.config/nvim{,.bak}
# optional
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}git clone https://github.com/Jonathan0823/nvim-config.git ~/.config/nvimnvim# required
Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak
# required
Move-Item $env:LOCALAPPDATA\nvim-data $env:LOCALAPPDATA\nvim-data.bakgit clone https://github.com/Jonathan0823/nvim-config.git $env:LOCALAPPDATA\nvimnvimLazyVim will handle plugin installation automatically on first launch.
- 🧠 blink-cmp – Autocompletion
- 🧪 nvim-treesitter – Syntax highlighting & code structure
- 📖 mason.nvim – LSP and DAP management
- 💡 lspconfig – LSP setup for multiple languages
- 🎨 Catppuccin – Eye-friendly theme
- 📈 lualine.nvim – Statusline
- 🧩 conform - Code formatting
- ⭐ trouble.nvim – Diagnostics and code issues
- ⚙️ Pre-configured LSP support with
mason.nvim - 📝 Autocompletion with snippets
- 🎨 Syntax highlighting and code formatting
- 🖥️ Integrated terminal
- 📜 Git integration
- 📂 File explorer
- 🔍 Fuzzy finder for files, buffers, and more
- JavaScript/TypeScript
- Python
- Lua
- HTML/CSS
- Markdown
- JSON
- Go
- PHP
- Dart & Flutter
- Vue.js
- React.js
- Prettier
- ESLint
- Rust
- Press
spaceto trigger LazyVim commands. - Press
space+?to see available commands. - Press
space+lto open the LazyVim dashboard.
Custom keybindings are defined in lua/config/keymaps.lua.
- Neovim >= 0.9.0 (needs to be built with LuaJIT)
- Git >= 2.19.0 (for partial clones support)
- lazygit (for git integration)
- a Nerd Font(v3.0 or greater) (optional, but needed to display some icons)
- a C compiler for
nvim-treesitter. See requirements - curl for blink.cmp (completion engine)
- Node.js for LSP servers and tools (v18 or greater)
- for fzf-lua (optional)
- a terminal that support true color and undercurl:
Feel free to fork or open an issue/PR if you find something to improve or would like to contribute!