A comprehensive and well-organized Vim configuration optimized for Python development, DevOps workflows, and general productivity. This setup includes carefully selected plugins, sensible defaults, and productive key mappings.
Install everything with a single command:
curl -sL https://raw.githubusercontent.com/idvoretskyi/vim_idv/master/setup.sh | bash
If you've already cloned the repository:
git clone https://github.com/idvoretskyi/vim_idv.git
cd vim_idv
./install.sh
- Vim 8.0+ or Neovim 0.4+
- Git (for plugin management and repository cloning)
- curl (for downloading components)
- Python 3 (for Python development features)
Optional but recommended:
- FZF for enhanced fuzzy finding
- ripgrep for faster text searching
- Powerline fonts for better status line appearance
- Modern Plugin Management: Powered by vim-plug with auto-installation
- Python Development: Complete IDE-like features for Python coding
- Git Integration: Built-in git commands and visual diff indicators
- File Navigation: Enhanced file explorer and fuzzy finding
- Code Quality: Automatic linting and syntax checking
- AI Assistance: GitHub Copilot integration for intelligent code completion
- π Fuzzy Finding: Fast file and content search with FZF
- π³ File Explorer: Enhanced NERDTree with git status integration
- β¨ Status Line: Beautiful and informative airline status bar
- π Python IDE: Complete Python development environment
- π Code Quality: Automatic PEP8 compliance and linting
- π¨ Themes: Beautiful Solarized color scheme
- β¨οΈ Productivity: Extensive key mappings for common tasks
Plugin | Description |
---|---|
vim-sensible | Sensible defaults for Vim |
vim-fugitive | Git integration |
syntastic | Syntax checking framework |
Plugin | Description |
---|---|
vim-airline | Enhanced status line |
nerdtree | File system explorer |
fzf.vim | Fuzzy finder integration |
tagbar | Code structure browser |
Plugin | Description |
---|---|
jedi-vim | Python autocompletion |
python-mode | Python IDE features |
vim-flake8 | PEP8 style checking |
Plugin | Description |
---|---|
vim-gitgutter | Git diff indicators |
nerdcommenter | Easy commenting |
auto-pairs | Auto-close brackets |
copilot.vim | AI code assistance |
Key | Action |
---|---|
<C-f> |
Toggle file explorer (NERDTree) |
<C-t> |
Toggle code structure (Tagbar) |
,f |
Fuzzy find files |
,b |
Fuzzy find buffers |
,g |
Search in files (ripgrep) |
Key | Action |
---|---|
<C-h/j/k/l> |
Navigate between splits |
<C-h/l> |
Switch between tabs |
<C-n> |
New tab |
Key | Action |
---|---|
,gs |
Git status |
,gc |
Git commit |
,gp |
Git push |
]h / [h |
Navigate git hunks |
Key | Action |
---|---|
,r |
Run Python file |
,8 |
Lint Python file |
,d |
Show documentation |
Key | Action |
---|---|
,w |
Save file |
,q |
Quit |
,<Space> |
Clear search highlight |
,ev |
Edit vimrc |
,sv |
Reload vimrc |
This configuration is optimized for Python development with:
- PEP8 Compliance: Automatic line length, indentation, and style checking
- Code Completion: Intelligent autocompletion with Jedi
- Linting: Real-time syntax and style checking with Flake8
- Code Navigation: Jump to definitions, find usages
- Documentation: Inline documentation display
- Testing: Easy test running and debugging
DEBUG=1
: Enable debug mode for installation scriptsVERBOSE=1
: Show detailed installation information
~/.vimrc
: Main Vim configuration~/.vim/
: Vim data directoryplugged/
: Installed pluginsbackup/
: Backup filesswap/
: Swap filesundo/
: Undo history
vim_idv/
βββ .vimrc # Main Vim configuration
βββ install.sh # Local installation script
βββ setup.sh # Remote installation script
βββ lib/
β βββ utils.sh # Shared utility functions
βββ README.md # This documentation
Plugin Installation Fails
# Manually install plugins
vim +PlugInstall +qall
Python Features Not Working
# Ensure Python 3 is available
python3 --version
# Install Python development tools
pip3 install flake8 jedi
Git Integration Issues
# Verify git is installed and configured
git --version
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
To start fresh:
# Backup current configuration
mv ~/.vimrc ~/.vimrc.backup
# Remove plugin directory
rm -rf ~/.vim/plugged
# Reinstall
./install.sh
Contributions are welcome! Please feel free to submit issues or pull requests.
# Clone the repository
git clone https://github.com/idvoretskyi/vim_idv.git
cd vim_idv
# Make changes and test
./install.sh
# Submit a pull request
This project is open source and available under the MIT License.
- Issues: GitHub Issues
- Documentation: This README and inline code comments
- Community: Vim community resources and documentation
Happy Vimming! π