So, you stumbled upon my Neovim config? Cool, cool. 😎
This isn't just any config; it's KWMvim. It's my personal command center, meticulously crafted (read: constantly tweaked and occasionally broken) in Lua. It's built with Lazy.nvim because, honestly, who has time for slow plugin managers?
Think of it as a comfy, supercharged workspace primarily tuned for Web Dev (JS, TS, HTML, CSS) and Rust, but it plays nice with other stuff too.
- Speed: Because waiting for your editor is so last decade. Lazy loading keeps things snappy.
- Lua is Fun: Migrating from Vimscript felt like upgrading from a dial-up modem.
- Looks Matter: Rocking the gorgeous Kanagawa theme. Easy on the eyes, tough on the code.
- Sensible Defaults (for me): Things are set up just how I like 'em. Tabs are spaces (4 wide, fight me), relative numbers are off (yeah, I said it), and the clipboard just works.
This setup is packed, but here are some highlights managed by the magic of lazy.nvim:
- Navigation & Search:
- Telescope.nvim: Fuzzy finding everything. Files (
<leader>ff), Grep (<leader>fg), Buffers (<leader>fb), Git Status (<leader>fs) - it's the CTRL+P killer you deserve. - Neo-tree.nvim: A file explorer that doesn't suck. Toggle with
<leader>e.
- Telescope.nvim: Fuzzy finding everything. Files (
- Coding Power-Ups:
- Nvim-Treesitter: Smarter syntax highlighting, indentation, and more. Makes code look pretty and understandable. Includes
nvim-ts-autotagfor HTML/XML bliss. - Nvim-Cmp: Autocompletion that actually helps, powered by LSP, snippets, buffers, and paths.
- Conform.nvim: Auto-formatting on save using
prettier,stylua,isort,black, etc. Keepin' it clean. - Nvim-Autopairs: Closes brackets and quotes for you. Simple, yet essential.
- Nvim-Treesitter: Smarter syntax highlighting, indentation, and more. Makes code look pretty and understandable. Includes
- Git Integration:
- Gitsigns.nvim: Git diff markers directly in the sign column. See changes without leaving your flow.
- Language Specific:
- Rustaceanvim & Crates.nvim: Making Rust development feel first-class.
- UI Candy:
- Lualine.nvim: A statusline that's both informative and sleek.
- Which-Key.nvim: Helps you remember all those leader keybindings. Press
<leader>and wait a sec. - Nvim-Colorizer.lua: Shows hex colors inline. Pretty neat.
- Toggleterm.nvim: Quick access to a floating terminal (
<F7>).
mapleaderis<Space>(obviously).jkin Insert mode escapes back to Normal mode (the superior way).- Window splits:
<leader>o(vertical),<leader>p(horizontal). - Window navigation:
<C-h/j/k/l>. - Check
lua/kmill/maps.luafor the full list!
- Make sure you have Neovim v0.9 or later.
- Backup your existing
~/.config/nvimdirectory (seriously, do it). - Clone this repo:
git clone https://github.com/KyleWMiller/KWMvim.git ~/.config/nvim - Launch
nvim.Lazy.nvimshould bootstrap itself and install plugins. - Restart
nvimjust for good measure. - Run
:Masonto check LSP/formatter/linter installations if needed.
This is my setup. It changes. Sometimes often. Sometimes drastically. Use it as inspiration, steal bits you like, or fork it and make it your own. If it breaks, you get to keep both pieces! 😉
Happy Vimming!