Important
This repo has moved to my dotfiles . This repo is archived and won't get any more updates.
A minimal, efficient, opinionated Neovim configuration targeting frontend development.
More screenshots
git clone git@github.com:loremipson/nvim.git ~ /.config
Neovim 0.12+
A Nerd Font for icons
node in $PATH (for TypeScript scratch buffer runner)
lazygit in $PATH (optional, for git UI)
git in $PATH (for zdiff.nvim diff review)
Space as <leader>
TypeScript, React, Node, Lua, Astro, Vue, TailwindCSS
Lazy plugin loading via lazy.nvim
LSP via native lsp + Mason (auto-installs servers)
Autocompletion via blink.cmp with LuaSnip + friendly-snippets
AI support via OpenCode (chat/agent)
Formatting via Conform — oxlint/oxfmt, Biome, ESLint, Prettier, Stylua
Linting via lsp
Git signs, Lazygit, and git log via Snacks
Multi-file diff review via zdiff.nvim
Tmux pane navigation via Navigator.nvim
Diagnostics via tiny-inline-diagnostic.nvim, with Trouble.nvim for quickfix-style overview
Code actions via tiny-code-action.nvim with snacks.picker integration
TypeScript error translation via ts-error-translator
TailwindCSS value inspection via tw-values
Surround motions via nvim-surround
Editing helpers via mini.nvim — ai (textobjects), pairs (auto-pairs), jump (enhanced f/t motions), icons (devicon provider)
Search match highlighting via nvim-hlslens
Snacks.nvim — picker, notifier, input, indent guides, scroll, statuscolumn, scratch buffers, words, toggles
Theme picker with live preview (<leader>cs)
Yazi support with netrw fallback
Rust + Dioxus support via rustacean, rustfmt, and dxfmt
Python support via pyright, and ruff
Go support via gopls, and staticcheck
Five theme packages are included, switchable at any time via <leader>cs:
Package
Variants
Base46
All nvchad base46 themes
Kanso
kanso-ink, kanso-zen, kanso
Black Metal
16 bands × default + alt (32 total)
Neomodern
moon, iceclimber, gyokuro, hojicha, roseprime
Monokai Pro
pro, classic, machine, octagon, ristretto, spectrum
The picker live-previews each theme against your current buffer as you browse. Your selection persists across restarts (saved to ~/.local/share/nvim/colorscheme.txt). Press <leader>tB to toggle light/dark mode for themes that support it (Neomodern, Black Metal).
Key
Action
jj
Exit insert mode
<leader>cs
Theme picker
Files & Search (Snacks picker)
Key
Action
<leader>ff
Find files
<leader>fg
Live grep
<leader>fb
Buffers
<leader>fh
Help tags
<leader>fr
Resume last picker
<leader>fs
LSP symbols (buffer)
<leader>fS
LSP symbols (workspace)
<leader>fc
Git log
<leader>fw
Grep word under cursor
<leader>fy
Registers
<leader>f/
Search history
<leader>f:
Command history
Key
Action
<leader>gg
Lazygit
<leader>gl
Lazygit log
<leader>gf
Lazygit file history
<leader>zd
Zdiff (uncommitted)
<leader>zD
Zdiff (vs main)
Key
Action
<leader>ts
Spelling
<leader>tw
Line wrap
<leader>tl
Line numbers
<leader>tL
Relative line numbers
<leader>tD
Diagnostics
<leader>tT
Treesitter
<leader>tB
Dark/light background
<leader>th
Inlay hints
<leader>tg
Indent guides
<leader>tm
Dim (focus mode)
<leader>tc
Conceal level
Key
Action
<leader>.
Toggle scratch buffer
<leader>S
Select scratch buffer