WARNING: Init all submodules at once can be extremely slow; see section "A Note for YouCompleteMe" below.
$ git clone https://github.com/oldsharp/vimrc.git
$ cd vimrc && git submodule update --init --recursive
$ ln -sf /path/to/vimrc/vimrc ~/.vimrc
$ ln -sf /path/to/vimrc/vim ~/.vim
# Optional: You can then run ':Helptags' inside Vim to generating help tags.
- flake8 (for vim-flake8).
Running git submodule update --init --recursive vim/bundle/YouCompleteMe
can be extremely slow if the network is poor, since YCM itself contains a large submodule set.
A possible workaround: list all the submodules by git submodule status
, then run git submodule update --init --recursive <path-to-submodule>
manually - excepting the YCM submodule. You can then init YCM later whenever you get ready.
To update YCM, do not update with the --recursive
option first; a possible (and safe) way:
- Unregister YCM by running
git submodule deinit --force vim/bundle/YouCompleteMe
if necessary. - Update YCM by
git submodule update vim/bundle/YouCompleteMe
if we only want to catch up the superprojcet; or we can use the--remote
option to fetch changes from remote side (the original YCM project). Set the--init
option if necessary. - Commit changes made in step 2 if necessary.
- Run
git submodule update --init --recursive vim/bundle/YouCompleteMe
to register and checkout all submodules inside YCM recursively.
To build/install YCM, refer to the official doc.
Refer to the official instruction.
Refer to flake8's official doc.
This work has been placed in the public domain.