一直都觉得网上很火的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间切换