vimrc
contains vim-specific settings, it also handles loading the config files mentioned belowplugins.vim
a list of plugins manged by vim-plugconfig/*
settings for various 3rd-party plugins, colorscheme, and keybindings
- Pulls the latest vimfiles repo and fetches git submodules
- Installs various Go dependencies (for ex: go-fmt) needed by vim-go
- Runs
:PlugInstall
to installs the plugins listed in plugins.vim - Finally, it compiles YouCompleteMe
I use Homemaker for dotfiles management. Homemaker is similar to homesick but much simpler and cleaner (and written in Go). See homemaker.toml in my dotfiles repo.
An example homemaker task for install vimfiles:
[tasks.vim]
cmds = [
["rm", "-rf", "${HM_SRC}/vimfiles"],
["git", "clone", "[email protected]:dmix/vimfiles.git", "${HM_SRC}/vimfiles"],
["bash", "${HM_SRC}/vimfiles/install.sh"],
]
links = [
[".vimrc", "vimfiles/vimrc"],
[".vim", "vimfiles"],
]
When homemaker
is run it clones the vimfiles repo then runs the install script.
Note: Homemaker could also do everything in the vimfiles install script but I like to keep my vim repo self-contained, which makes it more portable (for example: setting up vim on servers where I don't need my desktop dotfiles).
git clone http://github.com/dmix/vimfiles.git /usr/local/dotfiles/vimfiles`
cd /usr/local/dotfiles/vimfiles
./install
And whenever you need to update:
./update
colorscheme: jellybean.vim