🏆 World-Class Vim Configuration - 23 Plugins, IDE-Level Features
A meticulously crafted, professional-grade Vim configuration that rivals modern IDEs like VSCode and IntelliJ. This setup provides complete development environment with LSP support, debugging, syntax checking, multi-cursor editing, and much more.
🔧 Development Tools (100% Coverage):
- coc.nvim - Full LSP support, intelligent completion, diagnostics, refactoring
- ALE - Real-time syntax checking and auto-fixing
- vimspector - Integrated debugger with breakpoints and variable inspection
- vim-visual-multi - Advanced multi-cursor editing
- nerdcommenter - Smart commenting for multiple languages
- auto-pairs - Automatic bracket/quote completion
- honza/vim-snippets - Code snippets and templates
📁 File Management:
- LeaderF - Ultra-fast fuzzy file finder and function search
- NERDTree + vim-nerdtree-tabs - Enhanced file tree with tab support
🔄 Version Control:
- vim-fugitive - Complete Git integration
- vim-gitgutter - Git diff visualization in gutter
🎨 User Interface:
- vim-airline + vim-airline-themes - Professional status bar
- gruvbox - Comfortable dark theme optimized for coding
🛠️ Productivity Tools:
- asyncrun.vim - Asynchronous task execution
- floaterm - Floating terminal window
- vim-gutentags - Automatic tag generation for code navigation
- vim-preview - Enhanced quickfix window preview
- tabular - Advanced text alignment
- vim-markdown - Rich Markdown editing
- vim-surround - Surround text manipulation
- vim-easymotion - Lightning-fast cursor movement
- Zero Conflicts: Carefully designed shortcuts (multi-cursor uses #, coc uses Ctrl+n)
- Modular Architecture: 10+ separate config files for maintainability
- Performance Optimized: Lazy loading, efficient settings, fast startup
- Universal Language Support: Python, JavaScript, TypeScript, C/C++, Java, PHP, and more
- Integrated Ecosystem: Terminal, debugging, testing, all within Vim
- Extensible Design: Easy to add new plugins and customize
- Vim 8.0+ or Neovim
- Git
- ctags (for gutentags)
- Node.js (for Coc.nvim extensions)
Ctags is required for the gutentags plugin to generate tags for code navigation. Here are instructions for installing ctags on different operating systems:
brew install universal-ctagsOr using MacPorts:
sudo port install ctagssudo apt update
sudo apt install universal-ctags# For CentOS/RHEL
sudo yum install ctags
# Or for Fedora
sudo dnf install ctagsUsing Chocolatey:
choco install universal-ctagsOr download the latest release from universal-ctags releases and add the executable to your PATH.
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vimmd ~\vimfiles\autoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile(
$uri,
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(
"~\vimfiles\autoload\plug.vim"
)
)-
Clone this repository:
git clone https://github.com/peterfei/vim-elysium.git ~/.vim-elysium cd ~/.vim-elysium
-
Backup your existing Vim configuration:
mv ~/.vimrc ~/.vimrc.backup mv ~/.vim ~/.vim.backup
-
Install the configuration:
cp .vimrc ~/.vimrc cp -r vimrc ~/.vim/
-
Install plugins: Open Vim and run:
:PlugInstall -
Install Coc extensions: In Vim, run:
:CocInstall coc-json coc-tsserver coc-html coc-css coc-snippets coc-pyright coc-java coc-phpls coc-vetur
.vimrc: Main configuration file with basic settings and plugin loadingvimrc/: Directory containing modular plugin configurations:coc.vim: Coc.nvim settingsleaderf.vim: LeaderF settingsnerdtree.vim: NERDTree settingsgutentags.vim: Gutentags settings- And more...
The leader key is set to ,
<leader>w: Save file<leader>q: Quit<C-p>: LeaderF file search
<leader><space>: Clear search highlight<leader>ff: LeaderF function search<leader>fb: LeaderF buffer search<leader>fl: LeaderF line search<leader>r: Locate current file in NERDTreegd: Go to definition (Coc)gy: Go to type definition (Coc)gi: Go to implementation (Coc)gr: Go to references (Coc)
<Leader>m: Start multi-cursor on wordg<Leader>m: Select all occurrences<C-j>: Add cursor down<C-k>: Add cursor up<Leader>[: Remove cursor<Leader>]: Skip cursorEsc: Exit multi-cursor mode
Insert Mode Commands (apply to all cursors):
i: Insert before each cursora: Insert after each cursorI: Insert at start of line for each cursorA: Insert at end of line for each cursoro: Open new line below each cursorO: Open new line above each cursor
<C-h/j/k/l>: Navigate between windows<leader>vs: Vertical split<leader>sp: Horizontal split
<F8>: Toggle NERDTree<leader>e: Toggle NERDTree tabs<leader>n: Toggle NERDTree tabs
<leader>rn: Rename symbol<leader>qf: Quick fix current line<leader>a: Code action<space>a: Show all diagnostics<space>e: Manage extensions<space>c: Show commands<space>o: Show outline<space>s: Search workspace symbolsK: Show documentation
,c<space>: Toggle comment (NERDCommenter)
<F12>: Toggle floating terminal<F13>: New terminal<F14>: Previous terminal<F15>: Next terminal
<leader>di: Inspect variable under cursor
:Git <command>: Run Git commands<leader>gs: Toggle GitGutter
:NERDTreeToggle: Toggle file tree:LeaderfFunction: Search functions:CocList extensions: Manage Coc extensions:CocInstall <extension>: Install Coc extension
Feel free to modify the configurations to suit your needs. The modular structure makes it easy to add or remove plugins.
- If plugins don't load, ensure vim-plug is installed
- For Coc issues, check Node.js version and reinstall extensions
- Make sure ctags is installed for gutentags
MIT License - feel free to use and modify!
