My Neovim configuration based on Lua + lazy.nvim.
~/.config/nvim/
├── init.lua # Entry point (VSCode / Neovim branch)
└── lua/
├── config/
│ ├── init.lua # lazy.nvim bootstrap & config loader
│ ├── globals.lua # Leader key (Space)
│ ├── options.lua # Editor options
│ ├── keymaps.lua # Global keymaps
│ └── commands.lua # Custom commands
├── plugins/ # Plugin configs (auto-loaded by lazy.nvim)
└── utils/ # Utility functions
Leader key: Space
| Key |
Action |
<leader>e |
Neotree toggle |
<leader>h |
Clear search highlights |
<leader>s |
Vertical split |
<leader>S |
Horizontal split |
<C-h/j/k/l> |
Pane navigation |
<Tab> / <S-Tab> |
Next / Previous tab |
| Key |
Action |
<leader>ff |
Find files |
<leader>fg |
Live grep |
<leader>fb |
Buffers |
<leader>fh |
Help tags |
| Key |
Action |
gd |
Go to definition |
gD |
Go to declaration |
gr |
Find references |
gi |
Go to implementation |
K |
Hover info |
<leader>rn |
Rename symbol |
<leader>ca |
Code action |
<leader>f |
Format buffer |
<leader>r |
Diagnostic float |
<leader>D |
Type definition |
<leader>i |
Toggle inlay hints |
[d / ]d |
Previous / Next diagnostic |
| Key |
Action |
<leader>xx |
Toggle diagnostics |
<leader>xd |
Buffer diagnostics |
<leader>xq |
Quickfix list |
| Key |
Action |
<leader>ac |
Toggle Claude |
<leader>af |
Focus Claude |
<leader>ar |
Resume Claude |
<leader>as |
Send to Claude (visual) |
Auto-installed via mason-lspconfig: lua_ls, ty, ruff, rust_analyzer, jdtls, gopls, ts_ls, eslint