A blazing fast, minimal, and highly customized Neovim setup built on LazyVim framework. Optimized for productivity, aesthetic appeal, and pure keyboard-driven workflow.
- Plugin Manager: lazy.nvim for fast startup and lazy loading
- Color Scheme: Solarized Osaka for elegant syntax highlighting
- LSP Integration: Full language server protocol support with formatting and diagnostics
- Fuzzy Finding: Telescope with FZF for lightning-fast file navigation
- Git Integration: Built-in git blame and repository browsing
- Syntax Highlighting: Treesitter for accurate code parsing
- Color Preview: Live color highlighting for CSS/web development
- Window Management: Seamless split navigation and resizing
- Time Tracking: WakaTime integration for coding analytics
~/.config/nvim/
├── init.lua # Main configuration entry point
├── lua/
│ ├── config/
│ │ ├── autocmds.lua # Auto commands and file type settings
│ │ ├── keymaps.lua # Custom key mappings
│ │ ├── lazy.lua # LazyVim bootstrap
│ │ └── options.lua # Neovim options and settings
│ ├── plugins/
│ │ ├── coding.lua # Coding-related plugins (telescope, git, etc.)
│ │ └── wakatime.lua # Time tracking plugin
│ └── util/
│ └── debug.lua # Debug utilities
├── lazy-lock.json # Plugin version lock file
└── lazyvim.json # LazyVim configuration
- Neovim >= 0.9.0
- Git
- Node.js (for LSP servers)
- Python with pip (for WakaTime)
- ripgrep (for telescope live grep)
- fd (for better file finding)
-
Backup existing config (if any):
mv ~/.config/nvim ~/.config/nvim.backup mv ~/.local/share/nvim ~/.local/share/nvim.backup
-
Clone this configuration:
git clone https://github.com/yourusername/nvim-config ~/.config/nvim -
Install WakaTime CLI:
pip install wakatime
-
Launch Neovim:
nvim
LazyVim will automatically install all plugins on first startup.
- Leader:
<Space>
<Space>ff- Find files<Space>fg- Live grep<Space>fb- File browser;;- Resume last telescope searchsf- Open file browser in current directory
<Space>gb- Git blame<Space>go- Open in browser
ss- Horizontal splitsv- Vertical splitsh/sj/sk/sl- Navigate splits<Ctrl-w>+ arrows - Resize windows
<Space>p- Paste from yank register (doesn't overwrite)<Space>d- Delete without affecting clipboardgcc- Toggle line comment<Ctrl-j>- Next diagnostic<Space>r- Replace hex colors with HSL<Space>i- Toggle inlay hints
<Ctrl-s>- Save file<Ctrl-q>- Quit<Tab>/<Shift-Tab>- Navigate tabs<Ctrl-a>- Select all
- LazyVim: Base framework with sensible defaults
- Telescope: Fuzzy finder for files, text, and more
- Treesitter: Advanced syntax highlighting
- LSP: Language server integration
- Which-key: Keybinding hints
- nvim-highlight-colors: Live color preview
- git.nvim: Git integration and browsing
- close-buffers.nvim: Buffer management
- telescope-file-browser: Enhanced file browsing
- vim-wakatime: Automatic time tracking
Create a new file in lua/plugins/ directory:
return {
"author/plugin-name",
event = "VeryLazy",
opts = {
-- plugin configuration
},
}Add to lua/config/keymaps.lua:
local keymap = vim.keymap
keymap.set("n", "<leader>x", ":YourCommand<CR>", { desc = "Your Description" })Language servers are automatically configured through LazyVim's extras system.
- Startup Time: ~50ms (with lazy loading)
- Plugin Count: 50+ plugins (loaded on demand)
- Memory Usage: Minimal footprint with intelligent caching
This configuration follows the principle of "maximum productivity with minimal friction":
- Every keystroke has purpose
- Visual distractions are eliminated
- Common workflows are optimized
- Extensibility without complexity
Feel free to fork and adapt this configuration to your needs. If you find improvements or fixes, pull requests are welcome!
This configuration is open source and available under the MIT License.
This configuration is heavily inspired by and built upon the excellent work of Takuya Matsuyama (craftzdog). His thoughtful approach to Neovim configuration and LazyVim setup served as the foundation for this personalized version.
Special thanks to: