- vim/nvim
- vim >= 8.1 且 enable +python feature
- nvim >= 0.3.0
- python >= 3.6.1
- nodejs >= 10.12
参考https://github.com/MaskRay/ccls/wiki/Build
- nvim:
cp third/plug.vim ~/.local/share/nvim/site/autoload/
- vim:
cp third/plug.vim ~/.vim/autoload/
install nvim with python3 supported:
- brew install --HEAD nvim
- brew install python3
- pip3 install neovim --upgrade
nvim:
cp init.vim ~/.config/nvim/
cp coc-settings.json ~/.config/nvim/
vim:
cp init.vim ~/.vimrc
cp coc-settings.json ~/.vim/
:PlugInstall
pip3 install --user pynvim
// 文件管理器defx需要这个Python包
coc.vim作为vim的插件,也拥有自己的插件系统,所以coc的插件也就是插件的插件
:CocInstall coc-lists
- leader key是空格
- coc预览窗口上翻和下翻:
C-j
和C-k
- 跳转到定义:
gd
- 回跳:
C-o
- 全局查找符号:
<leader>s
- 全局查找文件:
<leader>g
- 显示当前文件的outline:
<leader>o
- 全局替换符号:
<leader>rn
- 打开/关闭文件树:
<leader>dd
- 打开文件以及展开/合并文件夹:
o
- 全速打开文件:
<leader>ff
- 显示已打开的文件列表(bffer list):
<leader>b
- 全局搜索:
<leader>a
详见init.vim
ccls会在项目根目录查找compile_commands.json
(通过cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1
生成),所以推荐做法是将build目录的compile_commands.json
软链接到项目根目录。
ln -s build/compile_commands.json .
- 如果加载defx时提示缺少python3 feature,则执行:
python3 -m pip install --user --upgrade pynvim