LuxVim is a high-performance Neovim distribution built for developers who want powerful features, responsive editing, and a sleek interface — without the setup overhead.
- Self-Contained: LuxVim maintains its own data directory and doesn't interfere with your existing Neovim configuration
- Beautiful Themes: Comprehensive collection of 30+ colorschemes including custom LuxVim themes
- Modern Plugins: Curated selection of essential plugins for enhanced productivity
- Custom Tools: Integrated terminal, dashboard, and utility plugins built specifically for LuxVim
- Easy Installation: One-command installation with automatic plugin management
- Neovim 0.8+ (recommended 0.9+)
- Git for plugin management
- Unix-like system (Linux, macOS, WSL)
# Clone LuxVim
git clone https://github.com/LuxVim/LuxVim.git
# Run the installer
cd LuxVim && ./install.sh
# Start LuxVim
lux
The installer will:
- Create a
lux
command in~/.local/bin/
- Set up data directories within the LuxVim folder
- Bootstrap lazy.nvim plugin manager
- Install all plugins automatically
If ~/.local/bin
is not in your PATH, add this to your shell profile:
export PATH="$HOME/.local/bin:$PATH"
Launch LuxVim using the lux
command:
# Open LuxVim
lux
# Open a specific file
lux myfile.txt
# Open in a directory
lux /path/to/project
- nvim-tree.lua by nvim-tree
- Tree-style file explorer with git integration
- Custom icons and folder management
- Configured with 30-character width and left-side placement
- Git status indicators and file operations
- nvim-web-devicons by nvim-tree
- Provides file type icons throughout the interface
- Supports hundreds of file types with appropriate icons
- fzf by Junegunn Choi
- Blazing fast fuzzy finder for files
- fzf.vim by Junegunn Choi
- Vim integration for fzf with additional commands
- nvim-luxmotion by LuxVim
- Smooth cursor and scroll animations with customizable easing
- Configurable duration (10ms cursor, 380ms scroll) with ease-out easing
- Enhanced visual feedback for cursor movement and scrolling
LuxVim includes an extensive collection of 30+ carefully curated colorschemes:
- voidpulse.nvim by josstei - Dark theme with purple accents
- catppuccin/nvim by Catppuccin - Soothing pastel theme
- tokyonight.nvim by folke - Dark theme inspired by Tokyo's night
- kanagawa.nvim by rebelot - Traditional Japanese colors
- onedark.nvim by navarasu - Atom's One Dark theme
- nightfox.nvim by EdenEast - Highly customizable theme
- rose-pine by Rose Pine - All natural pine theme
- monokai.nvim by tanvirtin - Monokai theme for Neovim
- oxocarbon.nvim by nyoom-engineering - Dark theme with carbon colors
- material.nvim by marko-cerovac - Material Design theme
- edge by sainnhe - Clean & elegant color scheme
- gruvbox by Pavel Pertsev - Retro groove colors
- dracula/vim by Dracula Theme - Dark theme with vibrant colors
- nord-vim by Arctic Ice Studio - Arctic, north-bluish theme
- vim-colors-solarized by Ethan Schoonover - Precision colors for machines and people
- vim-monokai by crusoexia - Refined Monokai color scheme
- everforest by sainnhe - Green based color scheme
- sonokai by sainnhe - High contrast & vivid color scheme
- papercolor-theme by Nikyle Nguyen - Light & dark color scheme
- onedark.vim by Josh Dick - Atom's iconic One Dark theme
- molokai by Tomas Restrepo - Port of the Monokai theme
- oceanic-next by Mike Hartington - Oceanic Next theme
- nvim-luxdash by LuxVim
- Beautiful startup dashboard with ASCII art LuxVim logo
- Quick access menu with options: newfile, backtrack, fzf, closelux
- Displays current date and time
- Customizable logo colors and gradients
- nvim-luxterm by LuxVim
- Advanced terminal with session management and floating windows
- Manager window (80% width, 80% height) with preview pane
- Global keybindings (
<C-/>
,<C-_>
,<C-
>`) - Auto-hide floating windows when cursor leaves
- Session navigation with
<C-k>
and<C-j>
- Focus management for new sessions
- nvim-luxline by LuxVim
- Lightweight, context-aware statusline
- Different configurations for various window types (NvimTree, terminal, dashboard)
- Git branch integration, window numbers, file info
- Custom separators and position indicators
-
- Intelligent commenting system
- Language-aware comment toggling
- Works in both normal and visual modes
-
- Command palette for quick operations (activated with
<leader>m
) - Hierarchical menu system (Main → Git/Window/File/Code/Misc)
- Maven/Spring Boot development shortcuts
- Vim-specific operations
- Command palette for quick operations (activated with
-
- Environment management for project-specific configurations
- Quick environment setup and switching
- vim-backtrack by josstei
- File history tracking and navigation
- Configurable split behavior (bottom right vertical split)
- Maximum history count (10 files)
- Special handling for dashboard splits
- vim-luxpane by LuxVim
- Intelligent window pane management
- Protected buffer types: quickfix, help, nofile, terminal
- Protected file types: NvimTree
- Smart window operations with context awareness
- Space - Leader key (
vim.g.mapleader = ' '
)
Key | Action | Description |
---|---|---|
<leader>fs |
:w<CR> |
Save current file |
<leader>fq |
:q<CR> |
Quit current file |
<leader>FQ |
:q!<CR> |
Force quit without saving |
<leader>bye |
:qa!<CR> |
Quit all files without saving |
jk |
<ESC> |
Exit insert mode |
Key | Action | Description |
---|---|---|
<leader><leader> |
:Files |
Fuzzy find files using fzf |
<leader>st |
:SearchText<CR> |
Search text in current directory |
<leader>e |
:NvimTreeToggle<CR> |
Toggle file explorer |
Key | Action | Description |
---|---|---|
<leader>wv |
:rightbelow vs new<CR> |
Create vertical split |
<leader>wh |
:rightbelow split new<CR> |
Create horizontal split |
<leader>1-6 |
:1-6wincmd w<CR> |
Switch to window 1-6 |
Key | Context | Action | Description |
---|---|---|---|
Ctrl+/ |
Normal | :LuxtermToggle<CR> |
Toggle terminal |
Ctrl+/ |
Terminal | <C-\><C-n>:LuxtermToggle<CR> |
Toggle terminal from terminal mode |
Ctrl+_ |
Normal/Terminal | Same as Ctrl+/ |
Alternative terminal toggle |
`Ctrl+`` | Normal/Terminal | Same as Ctrl+/ |
Backtick terminal toggle |
Ctrl+n |
Terminal | <c-\><c-n> |
Enter normal mode in terminal |
Key | Action | Description |
---|---|---|
<leader>m |
:EasyOps<CR> |
Open EasyOps command menu |
<leader>cc |
:EasyComment<CR> |
Toggle comment (normal/visual) |
LuxVim/
├── init.lua # Main configuration entry point
├── install.sh # Installation script
├── install.ps1 # Windows PowerShell installer
├── lua/
│ ├── config/ # Core configuration
│ │ ├── lazy.lua # Plugin manager setup
│ │ ├── options.lua # Vim options and settings
│ │ ├── keymaps.lua # Key mappings
│ │ └── autocmds.lua # Auto commands
│ ├── plugins/ # Plugin configurations
│ │ ├── colorschemes.lua # All available themes
│ │ ├── luxdash.lua # Dashboard plugin
│ │ ├── luxterm.lua # Terminal plugin
│ │ ├── luxline.lua # Statusline plugin
│ │ ├── luxmotion.lua # Animation plugin
│ │ ├── luxpane.lua # Window management
│ │ ├── fzf.lua # Fuzzy finder
│ │ ├── nvim-tree.lua # File explorer
│ │ ├── easycomment.lua # Commenting
│ │ ├── easyops.lua # Command palette
│ │ ├── easyenv.lua # Environment management
│ │ └── backtrack.lua # File history
│ ├── utils.lua # Utility functions (search, fzf integration)
│ └── dev.lua # Development utilities
├── data/ # Plugin and cache data (auto-created)
│ ├── lazy/ # Lazy.nvim plugins
│ ├── mason/ # Mason LSP data
│ └── nvim/ # Neovim data
└── debug/ # Local plugin development directory
- Line Numbers: Relative numbering with absolute current line
- Search: Case-insensitive search with smart case
- Indentation: 4-space tabs with smart auto-indent
- Performance: Swap files disabled, fast timeout (500ms)
- Clipboard: System clipboard integration when available
- Colors: True color support (24-bit RGB)
- FZF Integration: Hides statusline and UI elements during fuzzy finding
- Quickfix Enhancement: Auto-close quickfix window after selection
- Cross-platform text search: Uses
grep
on Unix,findstr
on Windows - FZF wrapper functions: Seamless integration with fuzzy finding
- Quickfix integration: Search results displayed in quickfix window
Edit lua/plugins/colorschemes.lua
to modify the default theme:
-- Change the default theme
{
"LuxVim/lux.nvim",
priority = 1000,
config = function()
require('lux').setup({
variant = 'vesper' -- Default variant
})
vim.cmd('colorscheme lux')
end,
},
Edit lua/config/keymaps.lua
:
-- Add your custom mappings
vim.keymap.set('n', '<leader>custom', ':YourCommand<CR>')
vim.keymap.set('n', '<leader>gp', ':Git push<CR>') -- Git push example
Each plugin configuration is modularized. You can modify settings by editing the respective files in lua/plugins/
:
colorschemes.lua
- All available themes and colorschemesluxdash.lua
- Dashboard configurationluxterm.lua
- Terminal settings and keybindingsluxline.lua
- Statusline configurationluxmotion.lua
- Animation settingsfzf.lua
- Fuzzy finder configurationnvim-tree.lua
- File explorer settingseasycomment.lua
- Commenting systemeasyops.lua
- Command palette configurationbacktrack.lua
- File history settings
LuxVim integrates several custom-built plugins designed to work together:
- nvim-luxdash - Startup dashboard with LuxVim branding
- nvim-luxterm - Terminal with floating window and session management
- nvim-luxmotion - Smooth cursor and scroll animations
- vim-luxpane - Intelligent window pane management
- nvim-luxline - Minimal statusline with context awareness
- vim-easycomment - Language-aware commenting system
- vim-easyops - Hierarchical command palette
- vim-backtrack - File navigation history
- vim-easyenv - Environment management
If plugins aren't loading properly:
lux --headless "+Lazy! sync" +qa
To reset LuxVim completely:
rm -rf ~/.config/LuxVim/data
lux # Will reinstall all plugins
If lux
command not found:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
If themes aren't loading:
- Check that the theme dependency exists in
data/lazy/
- Verify the colorscheme name matches the plugin documentation
- Some themes require Neovim 0.8+ for full functionality
LuxVim builds upon the excellent work of many open-source contributors:
- Neovim - The extensible Vim-based text editor
- folke - Creator of lazy.nvim and tokyonight.nvim
- Junegunn Choi - Creator of fzf
- Catppuccin Organization - Catppuccin theme
- rebelot - Kanagawa theme
- EdenEast - Nightfox theme collection
- Rose Pine Organization - Rose Pine theme
- Pavel Pertsev - Gruvbox theme
- Dracula Organization - Dracula theme
- All other theme maintainers listed in the colorschemes section
- nvim-tree - File explorer and icons
- josstei - Custom plugins and LuxVim Development
- zejzejzej3 - LuxVim.org Web Development
LuxVim is designed to be a complete, opinionated Neovim distribution. If you'd like to contribute:
- Fork the repository
- Create a feature branch
- Test your changes thoroughly
- Submit a pull request
LuxVim is open source and available under the MIT License.
** Step into a brighter development experience with LuxVim!** ✨