Personal Neovim configuration built on NvChad with a modular plugin structure following the Single Responsibility Principle.
- Modular Architecture: One file per plugin for easy maintenance
- LSP Support: TypeScript, Lua, HTML, CSS, YAML, Docker, Markdown
- C# / Blazor: Roslyn LSP with razor file support
- Flutter / Dart: Full Flutter development environment
- Fast Navigation: Flash.nvim for quick jumps
- Formatting: Conform.nvim with Prettier, Stylua, CSharpier
- Markdown Rendering: Inline rendering with icons and styled elements
- VS Code-like Telescope: Filename-first path display
lua/
├── options.lua # Vim options
├── mappings.lua # Keybindings
├── autocmds.lua # Autocommands
├── filetypes.lua # Filetype detection
├── chadrc.lua # NvChad theme
├── configs/
│ ├── lazy.lua # Lazy.nvim settings
│ ├── lspconfig.lua # LSP server configs
│ └── conform.lua # Formatter configs
└── plugins/
├── init.lua # Plugin aggregator
├── treesitter.lua # Syntax highlighting
├── mason.lua # Package manager
├── conform.lua # Formatter
├── lspconfig.lua # LSP
├── roslyn.lua # C# LSP
├── flutter-tools.lua # Dart/Flutter
├── lazydev.lua # Lua development
├── dressing.lua # UI improvements
├── flash.lua # Quick navigation
├── telescope.lua # Fuzzy finder
├── nvimtree.lua # File explorer
└── render-markdown.lua
-
Backup existing config:
mv ~/.config/nvim ~/.config/nvim.bak
-
Clone this repository:
git clone https://github.com/luissena/nvim.git ~/.config/nvim -
Open Neovim and let lazy.nvim install plugins:
nvim
- Neovim >= 0.10
- Git
- Nerd Font (for icons)
- Node.js (for LSP servers)
- ripgrep (for Telescope)
| Key | Mode | Action |
|---|---|---|
<leader> |
n | Space |
s |
n | Flash jump |
S |
n | Flash treesitter |
<Tab> |
n | Next buffer |
<S-Tab> |
n | Previous buffer |
<leader>x |
n | Close buffer |
<leader>fb |
n | Find buffers |
<leader>ff |
n | Find files |
<leader>ca |
n | Code action |
; |
n | Command mode |
MIT