一直都觉得网上很火的SpaceVim
用起来没那么顺手
主要是装的东西太多了,所以最近都在用atom
不过今天突然想卸掉SpaceVim
用一下另一个配置spf13-vim,于是有了此文
添加python和lua支持
安装spf13-vim
很简单,主要是按照readme
所给的方式就能安装成功
但是需要注意的是,vim要有lua
和python
的支持
在vim中使用:echo has("lua")
和:echo has("python")
来查看是否有支持
返回1就是有,0就是没有,那么可以重新安装
在mac中可以用brew info vim
查看vim的的依赖
1 | ==> Dependencies |
根据这个就可以知道需要安装什么了,我安装的是luajit和python@2
1 | brew install --with-luajit --with-python@2 |
安装完成之后就可以进行下一步,配置自动补全
配置YouCompleteMe
首先安装完spf13-vim
之后,如果发现没有安装YouCompleteMe可以在.vimrc.bundles
中添加
1 | Bundle `Valloric/YouCompleteMe` |
这样在vim
中输入
1 | :BundleInstall |
就可以安装了
如安装了,那么就可以找到.vim/bundle/YouCompleteMe
这个文件夹了
现在我们需要的是为其添加语法支持,首先安装clang-completer
1 | .vim/bundle/YouCompleteMe/> install.sh --clang-completer |
安装完成后要将配置文件复制到根目录下
对于YCM来说,当打开一个代码文件时,插件将顺着文件所在的路径一直向上查找,如果搜索到第一个配置文件将立刻读入
如果一直搜索到根目录依旧无法找到配置文件,语法补全将不被启用。由此可知,文件所在目录的配置文件优先级最高,根目录的优先级最低
其中配置文件在.vim/bundle/YouCompleteMe/third_party/ycmd
中,将配置文件vi .ycm_extra_conf.py
复制到根目录
然后删除
1 | final_flags.remove( '-stdlib=libc++' ) |
然后就可以补全了,美中不足的是每次打开cpp文件就会问是否加载配置文件
可以在.vimrc
中配置
1 | "let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py' |
其中,g:ycm_global_ycm_extra_conf 定义了全局配置文件,当YCM在向上搜索的路径中找不到配置文件后,YCM将导入全局配置文件
g:ycm_confirm_extra_conf 决定了在导入配置时是否需要手动确认,设置为0后YCM就不会老是在启动vim的时候来烦你
快捷键
在此配置文件中,有许多插件,
- Undotree :
,u
,可以查看编辑历史,并可以跳转 - NERDTree:
,e/<crtl-e>
可以查看目录- 打开多文件后,文件之间的跳转是
b(n)
,例如:b1
- 两个文件之间的切换是
ctrl-6
bd
是关闭该buffer
,也就是关闭该文件
- 打开多文件后,文件之间的跳转是
- ctrlp:
ctrl-p
可以查看最近系统使用的文件,妈蛋,当时我正在听歌,然后显示的全都是我的歌 - NERDCommenter:
,cc
,可以在v
模式下快速注释和解除注释 - Tagbar:
,tt
可以打开类表,方便查看 /data
是搜索,匹配之后n
是跳跃/s/data/replace/
是替换/nohl
是取消搜索之后的高光:terminal [zsh]
,可以打开shell,使用ctrl+ww
可以在shell和vim间切换