__ _ _
____/ /________ _(_) _ __(_)___ ___ __________
/ __ / ___/ __ `/ / | | / / / __ `__ \/ ___/ ___/
/ /_/ / /__/ /_/ / / | |/ / / / / / / / / / /__
\__,_/\___/\__,_/_/ |___/_/_/ /_/ /_/_/ \___/
A personal Neovim configuration with 15+ years of evolution, migrated from Vim to Neovim in early 2023. This setup combines modern Neovim features with time-tested customizations.
- Modular Organization: Configuration split into logical modules for easy maintenance
- LSP Integration: Pre-configured language server protocol support for multiple languages
- Fuzzy Finding: Advanced file and text search with FZF integration
- Git Integration: Seamless git workflow with Fugitive and other tools
- AI Coding Assistants: Integrated LLM support with CopilotChat and CodeCompanion
- Test Runner: Integrated testing workflow
- Extensive Keymaps: Organized key mappings via which-key for better discoverability
# Clone the repository
git clone https://github.com/dcai/.vim.git ~/.config/nvim
# Optional: Create symlink for Vim compatibility
ln -s ~/.config/nvim ~/.vim
# For fish shell users: Create nvim symlink as vim
ln -s (which nvim) ~/.local/bin/vim
init.lua
: Main entry pointcore.vim
: Core Vim settings and functionalityfiletype.vim
: Filetype-specific settingsgui.vim
: GUI-related configurationsloader.vim
: Script loader and environment detectionlua/dcai/
: Core Lua configuration modulesplug.lua
: Plugin managementkeymaps/
: Keyboard mappings organized by functionalitylspconfig/
: Language server configurationsllm/
: AI assistant integrations
before/
: Configurations loaded before pluginscaptureoutput.vim
: Utility for capturing command outputkeymap.vim
: Early keymaps loaded before pluginsnetrw.vim
: File browser configurationspipe.vim
: Pipeline utilities for text processing
after/
: Configurations loaded after pluginsftplugin/
: Filetype-specific settingsplugin/
: Plugin-specific configurations
os/
: OS-specific configurationsmacos.vim
: macOS-specific settingslinux.vim
: Linux-specific settingswindows.vim
: Windows-specific settingswsl.vim
: Windows Subsystem for Linux settings
This configuration uses numerous plugins managed through vim-plug. See plug.lua for the complete list.
- 2008: Initial
vimrc
created - Pre-2014: Early history tracked in Git (commit
2f299642859b9efe0d5b1619ceeabcab16158a19
) - Early 2023: Migration to Neovim with Lua configuration
The ASCII art header was generated using figlet -f slant 'dcai vimrc'