vim的快速配置(YouCompleteMe+NERDTree+Taglist)

今天开始写博客记录曾经踩过的一些坑,第一篇博客先占个坑,格式排版方面可能有点乱,后面再继续补充完善。

在ubuntu上可以用的代码编辑器方法很多,比如vscode、vim等,我之前一直用的vim,所以这篇文章初步总结一下我配置vim的一些体会,很多基本步骤在其他优秀的文章已经介绍的很清楚了,由于时间有限,我就站在巨人的肩膀上,直接发出参考文章链接。

1.YouCompleteMe快速配置

之前为了实现vim代码自动补齐等功能,了解到YCM这么一个强大的插件,第一次安装时花了不少时间,第二次安装就快了很多,把一些遇到的坑简短的记录下来,一些基本步骤参考我下面放的链接。

https://blog.csdn.net/SeanChina/article/details/80244962

https://blog.csdn.net/qq_41250354/article/details/90513598

在编译YCM之前一定要先把环境搭建好,我的基本开发环境是ubuntu16.04,在搭建环境中,要特别注意的关键点有:

1).注意python的版本,python和python3只能用一个(前面有+表示加载成功),本次安装采用python3.5, vim8.1。

2)vim的版本很重要,我之前用sudo apt-get install vim这种方式,发现后面YCM编译很容易失败,可能这种方式下载的vim缺少一些依赖项。所以参考一些文章通过git clone来下载编译vim,编译vim时,这里面configure配置要注意python3而不是python,

./configure --with-features=huge \

            --enable-multibyte \

            --enable-rubyinterp=yes \

            --enable-python3interp=yes \

            --with-python3-config-dir=/usr/lib/python3.6/config \

            --enable-perlinterp=yes \

            --enable-luainterp=yes \

            --enable-gui=gtk2 \

            --enable-cscope \

             --prefix=/usr

编译vim参考这篇文章(注意查看vim的版本,我之前是vim8.2那么在make VIMRUNTIMEDIR=/usr/share/vim/vim80 改为make VIMRUNTIMEDIR=/usr/share/vim/vim82)

https://blog.csdn.net/a464057216/article/details/52821171

3)ubuntu16.04可以直接编译ycmd.core,不用下载clang来编译(太复杂),下载好YCM安装包直接执行sudo ./install.py --clang-completer。

4)最后就是配置.vimrc和.ycm_extra_conf.py,没有.vimrc,就自己在home下面创建一个,.ycm_extra_conf.py用的是.vim/bundle/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py 这个(另外在.vim/bundle/YouCompleteMe/third_party/ycmd/example/下面也有一个这个文件,我试过用这个版本配置有点问题),我是把.ycm_extra_conf.py 复制到.vim/目录下,搞定!

5)注意最后修改ycm_extra_conf.py,我增加的库目录如下(仅供参考,具体看自己的实际情况):

 /usr/lib/gcc/x86_64-linux-gnu/5/include

 /usr/local/include

 /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed

 /usr/include/x86_64-linux-gnu

 /usr/include

2.其他一些辅助功能配置

通过上面的配置和编译,YCM就安装好了,下面就是对vim插件的进一步配置,让vim更强大,以下是一些可供参考的选项,我先简短的列出来,参考了一些优秀的文章,免去搜索时间。

1)函数语法高亮设置

在/usr/share/vim/vim82/syntax/c.cim  里面最后加上:

"highlight Functions

syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2

syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1

hi cFunctions guifg=#7fd02e cterm=bold ctermfg=yellow

syn match cClass "\<[a-zA-Z_][a-zA-Z_0-9]*\>::"me=e-2

hi cClass guifg=#7fd02e cterm=bold ctermfg=yellow

2)NERDTree目录树安装

https://www.cnblogs.com/lilyxue/p/5572897.html

https://blog.csdn.net/wittfogel/article/details/77771697(NERDTree安装)

3)Taglist函数列表安装

https://blog.csdn.net/haolvshiqi/article/details/54016198

https://blog.csdn.net/networkhunter/article/details/91952294 (Taglist函数列表)

今天先写到这里,感谢这些作者的总结,让我少走一些弯路,后面再完善。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值