本文介绍在Ubuntu18.04系统中vim-plug的安装和使用,并记录在插件中很难安装的YCM(YouCompleteMe)和使用步骤。
一、前言 最近在研究VNF Internal State Management相关框架的过程中,总结了一点心得,那就是偏计算机方向的硕士和博士,必须要精通至少3门编程语言。其中,c/c++是必须精通的,Java和Python里面可以二选一,剩下一门推荐偏向于后台开发的Golang或者Rust。因为我的研究方向与AI和Container都会沾点边,所以我的选择就是c/c++&Python&Golang了。由于之前的工作都是偏模型和理论,常用python写一些仿真,对于c/c++的使用较少,时间一长就对c/c++生疏了,接下去打算多用用c/c++,把丢下的慢慢捡起来。 工欲善其事必先利其器,熟练掌握一门语言需要一个好的IDE。本研究领域差不多全部的开源平台都是基于Linux,考虑到之后会对其中的一些平台进行二次开发,因此在linux平台下找一个好的IDE就是第一步了。之前一直使用Server版的Linux,而Server版的Linux下,vim当然就是最好的IDE了。要用好vim,肯定需要不同vim plugin的支持,在网上看了一圈,最终选择vim-plug来管理vim中的插件。
二、推荐 基于vim-plug安装YCM其实没啥难度,就是其中有一些坑,如果装之前能仔细阅读官方的文档的话,就能避免大部分的问题,因此推荐读官方的文档,如果发现官方文档里面没有的问题,再来这看看有没有遗漏的步骤。 相关链接:
三、vim-plug的安装和使用 1.安装 vim-plug的安装非常简单,一行命令完事。或者也可以将plug.vim中的内容复制到~/.vim/autoload/plug.vim中。 curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 2.使用 使用vim-plug管理vim插件非常简单,具体命令见vim-plug command。我们需要安装YCM插件,只需要在~/.vimrc文件中加入如下: call plug#begin('~/.vim/plugged') Plug 'Valloric/YouCompleteMe', { 'do': './install.py --clang-completer', 'for': ['c', 'cpp'] } call plug#end() 其中'do'后面跟的命令是指YCM插件在使用vim-plug安装后,还需要执行的额外的命令(该命令在后面有解释),这也是YCM插件安装起来麻烦的原因。‘for’后面跟的内容是指YCM插件只在打开c和cpp文件时才会被激活。 接下来就可以在vim命令行中运行PlugInstall命令安装YCM了?这是本文的重点部分,也是难点部分。
四、YCM插件 YCM插件能让vim像那些IDE一样自动补全代码,跳转等等,它通过预先编译,根据编译的结果来推测需要补全的内容。 在运行安装脚本之前,需要解决一些依赖问题,具体如下: 1.确保vim版本在7.4.1578以上。通过vim --version来查看。ubuntu18.04默认为vim8.1。 2.确保vim对python和python3的支持。也通过vim --version来查看,在python和python3前面有加号,说明已经支持了。 ubuntu18.04默认安装python3,且vim支持python3,但是未安装python且vim不支持python2,因此需要安装python2且从源码重新编译vim。 安装python2的时候,需要从源码进行安装,并进行额外配置: mkdir python2-source && cd python2-source wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz tar -xvf Python-2.7.15.tgz cd Python-2.7.15/ sudo apt install zlib1g-dev # YCM需要zlib库支持 ./configure --with-zlib --enable-shared --enable-unicode=ucs2 make -j sudo make install 安装完python2,还需要python中的urllib3: pip install urllib3 --user 接下来重新编译安装vim,使其支持python和python3: sudo apt purge --auto-remove vim # 卸载现有vim sudo apt install python-dev python3-dev git clone https://github.com/vim/vim.git cd vim ./configure --with-features=huge \ --enable-python3interp \ --enable-pythoninterp \ --enable-perlinterp \ --enable-multibyte \ --enable-cscope \ --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \ --with-python-config-dir=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/ \ --prefix=/usr/local/vim # vim安装位置 make -j sudo make install export PATH="$PATH:/usr/local/vim/bin # 加入vim可执行文件的路径 3.安装剩余依赖库 sudo apt install build-essential cmake sudo apt install clang libclang-dev # clang库帮助实现语义支持 4.至此,依赖都解决了,可以在vim命令中运行PlugInstall来安装YCM插件了,YCM插件大约有500MB,安装期间需要不停地git clone,所以安装可能会比较慢。 5.最后,还需要配置下YCM才可以正常使用,官方提供了一个默认的配置文件,号称可以解决99%的需求。在.vimrc文件中加入一行进行设置即可。YCM的配置非常丰富,具体可参考YCM。 let g:ycm_global_ycm_extra_conf='~/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py' 注意: 如果执行PlugInstall来安装YCM过程中还有其他的错误,可以退出vim控制台来查看YCM的安装日志,解决了问题之后,进入~/.vim/plugged/YouCompleteMe找到install.py脚本重新运行./install.py --clang-completer即可。
相关主题 |