This is a personalized, high-performance Neovim configuration based on AstroNvim v5. It features a modern transparent UI, robust coding tools, AI assistance, and full support for a wide range of programming languages.
- Base Framework: Built on top of the powerful AstroNvim v5.
- Theme: Cyberdream (Dark, Transparent) for a futuristic look.
- AI Powered: Integrated with Avante.nvim for AI coding assistance (Cursor-like experience).
- Language Support:
- Systems: C, C++, Rust, Go, Swift.
- Web: HTML, CSS, JavaScript, TypeScript, Solana (Rust/TOML).
- Backend/Scripting: Java, C#, Python.
- Productivity:
- Flash: Lightning-fast navigation.
- Lazygit: Full git integration within Neovim.
- Harpoon: Quick file jumping for your working set.
- Trouble: Pretty diagnostics and quickfix lists.
- Spectre: Project-wide search and replace.
- Mini.surround: Easy surrounding character manipulation.
- Neotest: Interactive unit testing.
Before installing, ensure you have the following tools installed on your system:
- Neovim: Version 0.9.0 or later (0.10+ recommended).
- Nerd Fonts: A Nerd Font installed and configured in your terminal (e.g., JetBrainsMono Nerd Font) for icons to display correctly.
- External Tools:
ripgrep: For fast text searching (used by Telescope/Spectre).lazygit: For the git interface.gccorclang: C compiler for compiling Treesitter parsers.make: Build tool for some plugins.npmandnode: Required for many LSPs (TypeScript, HTML, CSS, etc.).cargo(Rust): Required for Rust tools and some system tools.python3andpip: Required for Python tools.
-
Backup: Back up your existing configuration.
mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak
-
Clone: Clone this repository to your config directory.
git clone <your-repo-url> ~/.config/nvim
-
Start Neovim: Run
nvim. The package manager (Lazy.nvim) will automatically install all plugins.nvim
- Flash.nvim: Navigation motions. Press
sto jump anywhere. - Lazygit.nvim: Git terminal interface. Press
<Space>ggto open. - Avante.nvim: AI coding assistant. Chat with your code.
- Trouble.nvim: Diagnostics list. View errors in a clean list.
- Harpoon: Marked file navigation. Keep track of active files.
- Spectre: Search and replace across the entire project.
- Todo Comments: Highlights TODOs and FIXMEs.
- Mini.surround: Actions to add/change/delete surrounding characters (quotes, brackets).
- Neotest: Integrated testing framework.
- Render Markdown: Renders Markdown content beautifully in the buffer.
Full LSP (Language Server Protocol), formatting, and debugging support provided via AstroCommunity packs for:
- Systems: C, C++, Rust, Go, Swift.
- Web: HTML, CSS, JavaScript, TypeScript, Solana.
- General: Java, C#, Python, TOML, JSON.
- AstroNvim: The underlying framework.
- Cyberdream: High-contrast, transparent dark theme.
- BufferTabs: Minimalist buffer tab line.
- Smear Cursor: Smooth cursor trailing animation.
- Snacks.nvim: Dashboard and UI utilities.
The Leader key is set to <Space>. Below are the most important keybindings.
| Keybinding | Action | Description |
|---|---|---|
<Space>q |
Quit | Quit Neovim |
<Space>w |
Save | Save file |
<Tab> |
Next Buffer | Go to the next buffer |
<S-Tab> |
Prev Buffer | Go to the previous buffer |
<Space>c |
Close Buffer | Close the current buffer |
t |
Toggle BufferTabs | Toggle the top buffer line |
s |
Flash Jump | Jump anywhere on screen visible text |
| Keybinding | Action | Description |
|---|---|---|
<Space>ff |
Find Files | Fuzzy find files in project |
<Space>fw |
Live Grep | Search for text in project |
<Space>fo |
Old Files | Find recently opened files |
<Space>e |
File Explorer | Toggle file explorer tree |
| Keybinding | Action | Description |
|---|---|---|
<Space>gg |
Lazygit | Open Lazygit interface |
<Space>a |
Harpoon Add | Add file to Harpoon list |
<Space>h |
Harpoon Menu | Open Harpoon quick menu |
<Space>xx |
Trouble | Open diagnostics list |
<Space>S |
Spectre | Open search & replace panel |
| Keybinding | Action | Description |
|---|---|---|
K |
Hover | Show documentation for symbol |
gd |
Go to Definition | Jump to symbol definition |
gr |
References | Find references of symbol |
<Space>la |
Code Action | Open code actions menu |
<Space>lr |
Rename | Rename symbol |
<Space>lf |
Format | Format code |
- Icons not showing?: Ensure you have a Nerd Font installed and set as your terminal font.
- LSP not working?: Run
:LspInfoto check the status of the language server. You may need to install the server via:Masonor your system package manager. - Check Health: Run
:checkhealthto identify and fix common issues. - Update Plugins: Run
:Lazy updateto update all plugins.