Personal Neovim config, originally bootstrapped from
kickstart.nvim. Plugins are
managed with vim.pack (Neovim's built-in plugin manager, see :help vim.pack) rather than a third-party plugin manager.
init.lua is just six require calls, in load order:
lua/options.lua— core Neovim settings, leader key.lua/autocmds.lua— diagnostics config, basic autocmds.lua/pack.lua—vim.packbootstrap (build hooks for plugins that need one).lua/keymaps.lua— all keymaps.lua/lsp/— LSP, formatting, completion and Treesitter, one file per concern, loaded bylua/lsp/init.lua.lua/plugins/— every other plugin, one file each, loaded bylua/plugins/init.lua.
Plus lua/dadbod_local.lua (machine-local database config, gitignored) and
lua/snippets/ (vendored VSCode-format snippets).
- catppuccin — colorscheme
- telescope-frecency — frecency-ranked file picker
- oil.nvim — edit the filesystem as a buffer
- toggleterm.nvim — VS Code style terminal panel
- neogit + diffview.nvim — git UI
- noice.nvim — cmdline/messages UI
- hop.nvim — motion-based jumping
- vim-visual-multi — multi-cursor editing
- vim-tmux-navigator — seamless tmux/split navigation
- render-markdown.nvim — inline markdown styling
- vim-dadbod + dadbod-ui/-completion — database client
- copilot.vim — GitHub Copilot suggestions
- obsidian.nvim — Obsidian vault integration
Leader is <space>. <leader>s* opens Telescope pickers (:help telescope.builtin), <leader>g*/<leader>h* are git (neogit/diffview and
gitsigns hunks), gr* are LSP actions. Run <leader>sk to fuzzy-search all
keymaps, or :help which-key to see the live cheat sheet.
A few bindings mimic VS Code's Cmd-key shortcuts (save, format, find, panel
toggle, multi-cursor). They arrive as Alt/Ctrl combinations translated by
WezTerm (~/.config/dotfiles/.wezterm.lua), which is why some keymap
comments reference specific escape sequences.
- Neovim with
vim.pack(see:help vim.pack— ships with sufficiently recent Neovim builds). git,make, a C compiler,ripgrep, andfdfor full functionality (Telescope, LSP tooling, treesitter parser builds).- A Nerd Font for icons (
vim.g.have_nerd_fontininit.lua).
git clone <this-repo> ~/.config/nvim
nvimPlugins install automatically on first launch via vim.pack. Run
:checkhealth afterwards to confirm external dependencies are present.