My Vim Settings and a script to auto setup them
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ViViDboarder 2b920d1230 Fix lualine theme loading 3 days ago
.github/workflows Add Docker builds 3 months ago
neovim Fix lualine theme loading 3 days ago
vim Add saving and loading of plug snapshots 4 weeks ago
.dockerignore Add support for running in a Docker image 3 months ago
.gitignore Begin refactor of lua configs 4 weeks ago
.pre-commit-config.yaml Update pre-commit versions 2 years ago
Dockerfile Add support for running in a Docker image 3 months ago
Makefile Update build platforms 3 months ago Prettify using new linters/fixers 2 years ago Add support for running in a Docker image 3 months ago Add python-lsp-black, pyls-isort, and pyls-mypy 4 weeks ago Add support for running in a Docker image 3 months ago Add update script 4 years ago Begin adding lua configs for neovim 4 weeks ago


These are my Vim settings that I like to keep synced between my computers for convenience. This bootstrap setup will support both Vim and Neovim and uses different plugins, where needed, to bridge gaps in functionality. I use Neovim day to day, but there are times it is not available, so I maintain Vim support as well.

The bootstrap script included will set the proper symblinks and run vim-plug to install any plugins.


git clone
cd vim-settings
make install

You can also remove any installed plugins or completely uninstall this configuration using either make clean or make uninstall respectively.

Project Layout

The vim directory here is what gets symb linked to ~/.vim, ~/.nvim, and ~/.config/nvim. Inside, the init.vim file will also get symblinked to ~/.vimrc and ~/.nvimrc. The other included directories are mostly standard vim directories that provide some additional configuration files. The exceptions would be backup, which becomes the new default location for storing backup files while editing. The tmp directory is for storing session information. The rc directory is where all the vimrc work gets done.

The rc Files

The init.vim file essentially sets vim up to import the rc files from the rc directory. The actual configuration exists almost entirely in the rc directory. Each file should be fairly self explanatory.

One problem with syncing rc file between different machines, is that you may have different usages. That is solved by this framework by making use of local.rc files. For every *.rc.vim, you may provide a *.local.rc.vim file which will be loaded after the shared one. Here you can override or add anything to the synced configuration without it causing problems on any other machine.


I am not the original creators of some of the files included in the vim directory and only re-host them out of convienince. If I am missing any licensing information I'd be happy to attach it.