Back to docsRecipe

Neovim config primer

A minimal, fast Neovim setup for TypeScript, Rust, and Go. No framework — just Lua, lazy.nvim, and a handful of well-chosen plugins.

Directory structure

~/.config/nvim/
├── init.lua
├── lua/
│   ├── core/
│   │   ├── options.lua
│   │   └── keymaps.lua
│   └── plugins/
│       └── init.lua
└── lazy-lock.json

Core options

Set sensible defaults in lua/core/options.lua: line numbers, 4-space tabs, system clipboard, incremental search.

Plugin set

  • nvim-treesitter — syntax highlighting and folding
  • nvim-lspconfig — built-in LSP client
  • nvim-cmp — autocompletion engine
  • telescope.nvim — fuzzy finder
  • conform.nvim — formatting on save
  • gitsigns.nvim — gutter indicators

Keymaps that matter

Leader set to space. <leader>ff for files, <leader>fg for live grep, gd for definition, K for hover. Format on write with an autocmd.

This config boots in under 40 ms with lazy-loading. Clone it, tweak the LSP servers for your stack, and you are productive in minutes.