|
|
||
|---|---|---|
| kitty | ||
| lua | ||
| .gitignore | ||
| .stylua.toml | ||
| CLAUDE.md | ||
| README.md | ||
| init.lua | ||
| lazy-lock.json | ||
README.md
Neovim Configuration
Personal Neovim configuration built with lazy.nvim for modern plugin management.
Requirements
- Neovim >= 0.10
- Nerd Font (for icons)
- xclip (for clipboard support on Linux)
- ripgrep (for Telescope live grep)
- make (for building Telescope fzf-native)
Installation
- Backup your existing Neovim configuration if you have one
- Clone this repository to your Neovim config directory:
git clone <your-repo-url> ~/.config/nvim - Start Neovim - lazy.nvim will automatically bootstrap and install all plugins:
nvim
Features
- LSP Support: Pre-configured language servers for TypeScript, Lua, Go, Rust, C#, PHP, and more
- Auto-formatting: Format-on-save with conform.nvim
- Testing: Integrated test runner with neotest (Jest and Bun support)
- Fuzzy Finding: Telescope for files, grep, LSP symbols, and more
- Syntax Highlighting: Tree-sitter based highlighting
- Git Integration: Gitsigns for inline git blame and hunks
- Completions: Blink.cmp for fast autocompletion
- File Explorer: Neo-tree for file navigation
- Status Line: Custom Heirline configuration
Key Bindings
Leader key: Space
File Navigation
<leader>ff- Find files<leader>fg- Live grep<leader>fb- Browse buffers
LSP
gd- Go to definitiongr- Find references<F2>- Rename symbol<leader>a- Code actions<leader>d- Show diagnostics
Testing
<leader>tt- Run nearest test<leader>tf- Run tests in current file<leader>td- Display test output
Formatting
<leader>f- Format buffer (also auto-formats on save)
Other
<leader><CR>- Open terminal<leader>n- Insert C# namespace (C# files only)
Structure
.
├── init.lua # Entry point
├── lua/
│ ├── keybinds.lua # Global keybindings
│ ├── diagnostic.lua # Diagnostic configuration
│ ├── snippets.lua # Custom snippets
│ └── plugins/ # Plugin configurations
│ ├── lsp.lua
│ ├── telescope.lua
│ ├── conform.lua
│ ├── neotest.lua
│ └── ...
└── CLAUDE.md # AI assistant context
Customization
- Edit plugin configurations in
lua/plugins/ - Add new plugins to the
require('lazy').setup()call ininit.lua - Modify keybindings in
lua/keybinds.luaor plugin-specific files - LSP servers and formatters are managed in
lua/plugins/lsp.luaandlua/plugins/conform.lua