A portable, modular Vim and Neovim configuration optimized for macOS and Linux.
- Editors: Neovim (primary) and Vim
- Operating Systems: macOS and Linux (Windows/WSL is not supported)
- Clipboard: Native
+clipboardon macOS; usesxselon Linux
Required tools (validated via make check):
nvim(orvim)python3ctags(Universal Ctags)node,yarn, andnpmgopls
Optional language servers (configured in coc-settings.json): solargraph (Ruby), bash-language-server (Bash).
curl https://vimfiles.diegolemos.net/install | bashgit clone git@github.com:dlresende/vimfiles.git ~/.vim
cd ~/.vim
make installThe leader key is , (let mapleader=",").
The full, auto-generated shortcut reference is maintained on the Project Wiki.
To export or view the cheat sheet locally, run:
make docsvimrc acts as a dispatcher that sources configuration in the following order (note that load order is significant):
config/plug.vim— plugin declarations (vim-plug). Must come first.config/plugin/*— per-plugin configurations.config/basic.vim— general editor settings.config/bindings.vim— global key mappings.config/bindings/*.vim— per-plugin key mappings.
Because config/bindings.vim is sourced after plugins load, a mapping defined there silently overrides a plugin's own default mapping.
Other entry points:
coc-settings.json— language server configurationsftplugin/*.vim— filetype-specific settingsMakefile— setup, dependency checks, test targets, and doc generation
To verify the setup locally:
make check # verify required tools are present on PATH
make install # symlink configuration, install/update plugins
make test-nvim # run smoke tests and checkhealth in Neovim
make test-vim # run smoke tests in Vim
make test # run all testsCI (.github/workflows/ci.yml) runs the Neovim and Vim test suites in parallel on pull requests.