This is a customized and high-efficiency Neovim configuration, especially for cpp project.
git clone git@github.com:Ytinifni-zc/nvim-config.git ~/.nvim
cd ~/.config
ln -s ~/.nvim nvim
# Install vim-plug
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# Install cquery
# see https://github.com/cquery-project/cquery/wiki/Getting-started
nvim +PlugInstall +qa
# If Languagecline install failed, go to the pluged folder and rerun ./install
cd ~/.local/share/nvim/plugged/LanguageClient-neovim && ./install.sh
# Customize your snippets
cd ~/.nvim
cp ./snippets/* ~/.local/share/nvim/plugged/neosnippet-snippets/neosnippets/
Key Mapping:
<M-h>
: hover<M-d>
: Jump to definition<M-r>
: List references<M-s>
: Document symbol<M-n>
: Remame(Refactor)<M-f>
: Formatting code
- Neosnippets and Neosnippets-snippets are using for fast code templete completion.
- Deoplete is the basic completing engine.
- NERDTree shows a toggle to list the project directory.
<F3>
: Open NERDTree toggle.
- NERDTreeGitPlugin adds git status to NERDTree.
- Tagbar shows a toggle for code structions.
<F2>
: Open Tagbar toggle.
- VimFugitive offers git operations commands in nvim.
:help fugitive
: show handbook of VimFugitive.
- Asyncrun compiles project and run in async buffer.
<F4>
: cmake<F5>
: run single file<F6>
: run test<F7>
: make -j<F8>
: make run<F9>
: compile single file<F10>
: show Asyncrun toggle
- Vim-gutentags generates tags silently to ~/.cache/tags
- Replace gnu-ctags by Universal-ctags.
- LeaderF supports fast function searching and jumping.
<C-l>
: show LeaderF function.
- VimDevicons shows file icons in nvim.
- AirLine beautifies state line and tabline.
- CppColorEnhancer cpp code color enhancer.