A minimal yet powerful Neovim configuration focused on productivity and clean design.
Lazy-loaded plugins for fast startup time
Modern LSP integration for code intelligence
Treesitter for improved syntax highlighting
Fuzzy finding with Telescope
File navigation with Harpoon and Mini.files
Git integration with Lazygit
Fast code formatting with Conform
Which-key for discovering keybindings
Auto-refresh files when changed externally (great for AI coding assistants)
Restore cursor position when reopening files
Clone this repository to your Neovim config directory:
git clone https://github.com/yourusername/dot-nvim ~ /.config/nvim
Start Neovim. Plugins will be automatically installed.
This setup expects language servers and formatters to be installed globally.
Server
Languages
Install
lua-language-server
Lua
brew install lua-language-server
typescript-language-server
JS/TS
npm install -g typescript-language-server typescript
svelte-language-server
Svelte
npm install -g svelte-language-server
biome
JS/TS/JSON
npm install -g @biomejs/biome
clangd
C/C++
brew install llvm or xcode-select --install
Formatter
Languages
Install
stylua
Lua
brew install stylua
prettierd
JS/TS/HTML/JSON/YAML/Markdown/Svelte
npm install -g @fsouza/prettierd
shfmt
ZSH
brew install shfmt
fish_indent
Fish
Included with Fish shell
For Svelte formatting with prettier, also install the plugin:
npm install -g prettier-plugin-svelte
Leader key is <Space>. All bindings below use <leader> prefix unless otherwise noted.
Key
Description
<Esc>
Clear search highlights
<leader>x
Execute current line as Lua
<leader>x (visual)
Execute selection as Lua
<leader>X
Source current file
<leader>R
Reload entire config
Key
Description
<leader>ul
Toggle line numbers
<leader>ub
Toggle statusline
<leader>us
Toggle colorscheme (dark/light)
Key
Description
<leader>ff
Find git files
<leader>fF
Find all files
<leader>fc
Find config files
<leader>fd
Find dotfiles
<leader>fg
Find by grep
<leader>fh
Find help tags
<leader>fs
Find colorscheme
Key
Description
<leader>ha
Add file to harpoon
<leader>hh
Quick menu
<leader>hf
Find marks
<leader>h1-5
Go to file 1-5
Key
Description
<leader>gg
LazyGit
<leader>gy
Open line in GitHub
<leader>gy (visual)
Open selection in GitHub
LSP (<leader>l and g prefix)
Key
Description
<leader>li
Show attached LSP clients
gd
Go to definition
grn
Rename symbol
gra
Code action
grr
Find references
gri
Go to implementation
gO
Document symbols
Key
Description
<leader>oo
Toggle opencode
<leader>oa
Ask opencode
<leader>os
Select opencode action
<leader>op
Add to opencode prompt
<leader>od
Explain diagnostics
Key
Description
<C-b>
Toggle file tree
Key
Description
<C-Space>
Show completion menu
Most configuration files are in the lua/config/plugins/ directory. Add new plugins or modify existing ones by editing these files.
Pull the latest changes from the repository to update:
cd ~ /.config/nvim
git pull
💡 This configuration is maintained and optimized for personal use. Feel free to fork and customize to suit your needs!