"A Neovim configuration of someone who's a huge fan of VS Code—now tuned for pure DX delight!"
- Onedark Pro theme, transparent panes, and Nerd Font icons make every buffer look like a high-end editor without sacrificing startup speed.
- Mason auto-installs all the usual suspects (TypeScript, Deno, Astro, Lua, Tailwind, ESLint, etc.) and wires them into
nvim-lspconfigautomatically. - Conform keeps files formatted on save (Prettier, Stylua, PHP-CS-Fixer);
<A-F>gives you the classic VS Code “format document” shortcut whenever you need it. - Dropbar winbar menus, Neo-tree, Telescope, Diffview, Markdown previews, and TODO highlights provide the creature comforts that usually send people back to VS Code.
Transparency note: Transparent background is enabled by default when using the OneDarkPro theme. If your terminal emulator also uses transparency, keep its opacity low (around 5–10%) so foreground text maintains comfortable contrast.
- File explorer —
<C-b>(fromlua/plugins/neo-tree.lua) toggles Neo-tree,<CR>opens the focused file,screates a split,rrenames, and tapping<C-b>again closes the drawer. Use<C-b>inside any buffer to reveal the current file instantly. - Search the current project — Telescope keymaps in
lua/plugins/telescope.luakeep scope tight:<leader>s.opens “search old files” limited to the current working directory,<leader>sffinds files,<leader>sglive-greps from project root, and<leader><leader>lists active buffers. - Search globally / outside the repo —
<leader>s,pulls up the global “search old files” list,<leader>sslaunches Telescope’s picker-of-pickers, and<leader>snscopes searches to your Neovim config.<leader>swgreps the word under your cursor anywhere on disk. - Exact string / case / whole-word — custom live-grep-args mappings (
lua/plugins/telescope.lua) wire ripgrep flags to muscle memory:<leader>fggprompts for extra args,<leader>fgwforces whole-word matches,<leader>fgsadds whole-word + case-sensitive, and current-file equivalents live on<leader>fcc,<leader>fcw,<leader>fcs. - Winbar dropdown —
<leader>;,[;, and];(set inlua/plugins/dropbar.lua) open the Dropbar picker, jump to the parent scope, or move to the next sibling symbol. Think of it as an always-on breadcrumb navigator. - Git diff + PR review — Diffview mappings (
lua/plugins/diffview.lua) keep everything on muscle memory:<leader>dvopens the view,<leader>dccloses it,<leader>dhshows repo history,<leader>dfshows current-file history, and<leader>doopens the file under the cursor in the main tab while auto-closing the diff. - Markdown / MDX preview — run
:MarkdownPreview/:MarkdownPreviewStop(plugin commands) for a live browser preview while Treesitter +mdx.nvimkeep the buffer pretty. - Format on demand —
<A-F>triggers Conform (seelua/plugins/conform.lua) in any buffer, matching the VS Code shortcut. Format-on-save stays enabled for everything else.
:Lazy— manage, profile, or update plugins (pressqto exit).:Mason— install or inspect language servers, linters, and formatters.:checkhealth— confirm your Neovim build plus required executables.:TodoQuickFix— jump through TODO/FIXME comments in the project.
- Neovim v0.11 or higher
git,make,unzip, and a working C compiler (e.g.,gcc)- Modern Node.js (recommended) for Markdown preview + Prettier formatters
ripgrep(rg) for Telescope live grep and grep_string pickers
Neovim’s configuration lives in different paths depending on your OS:
| OS | PATH |
|---|---|
| Linux, macOS | $XDG_CONFIG_HOME/nvim, ~/.config/nvim |
| Windows (cmd) | %localappdata%\nvim\ |
| Windows (powershell) | $env:LOCALAPPDATA\nvim\ |
Linux / macOS
git clone https://github.com/butadpj/nvim-config.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvimWindows
CMD:
git clone https://github.com/butadpj/nvim-config.git "%localappdata%\nvim"PowerShell:
git clone https://github.com/butadpj/nvim-config.git "${env:LOCALAPPDATA}\nvim"nvimLazy’s UI appears on the first run and installs everything automatically.
- Lazy UI didn’t show up — remove any old config:
rm -rf ~/.local/share/nvim/and startnvimagain. - Missing formatter/LSP — open
:Mason, install the tool, and rerun:ConformInfoor:LspInfoto confirm it’s wired up. - Colors look off — ensure your terminal has true-color + Nerd Font support and that
termguicolorsis enabled (it is by default here).