1、前言
本人从ubuntu开始接触vim,在window下开始了解gvim插件的配置,但是在window下有个问题就是想要自己编译vim很困难(鄙人功力不够,在windows下的ycm插件就从未成功过。。),造成有很多功能缺失。参考此处比较靠谱的vim配置,这个文章的作者是在linux的基础上进行教学的。受够了windows下功能缺失的vim后,鄙人决定返回新出来的ubuntu16.04,开始配置自己的vim。
然而,事实上,上面这个链接的vim配置还是有一定的问题的,不知道是作者的问题还是本人机子的问题,源码编译vim出错很多,因为总是没有办法弄上perl,ruby,lua等接口,经过3个小时的网上摸索后,鄙人终于成功弄出了vim的接口,为了节约大家的时间,也为了以后方便自己查阅,故,在这里留下一点点笔记。。
2、亲测安装流程简述
首先,上文的链接中的教程中的vim编译,config的命令具有一定的错误。。。此处做一些补充。。
1、首先,要在ubuntu上安装好各自的语言支持,python,ruby等等。然后,还要装上相应的依赖包,用apt-get来获得。。。安装对应的
python-dev, python3-dev, liblua5.1-dev, ruby-dev
(如果需要perl,加一个libperl-dev )(ps:如果找不到对应的软件包,有可能是软件源的问题,还有可能是名字不对)
2、sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev
这些库都要装。。。。
3、安装 gtk2-devel 时应该要用:sudo apt-get install libgtk2.0-dev
安装 gtk3-devel 时应该要用:sudo apt-get install libgtk-3-dev
4、开始编译,编译的config命令自己的测试是
./configure --with-features=huge --enable-gui=gtk2 --enable-cscope --prefix=/usr --enable-python3interp=yes --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config/ --enable-perlinterp=yes --enable-luainterp=yes --with-lua-prefix=/usr/ --enable-rubyinterp=yes
(此处比上面教程的多了不少东西,编译出来后的支持有python,python3,lua, perl, ruby)
(上面的这段 代码就是鄙人花费近2个小时弄出来的。。。)
(最近又发现了一个坑。。。之前由于贪多,同时在config里面引用了python3.5和python2的库,最后配置发现用python写的插件都用不了,我的感觉是两者有一点点冲突了,所以在上面的命令里就没有采用python3的库,亲测编译后成功,如果读者需要python3的支持,链接库的时候可以加上下面这句,同时把上面类似的关于python2 的库的引用命令给去掉)
--with-python3-config-dir=/usr/lib/python3.5/config/
接下来就make, make install 即可
3、备注:
1、关于ubuntu下的编译命令的小白理解:
1)./config 命令可以使用多次,但是产生的编译信息是最后一次执行这个命令的结果,并不可以多次执行./config来进行功能叠加,通俗来说,就是一次过。。。。
2)如果想要多次编译应该要怎么办?
进入源码文件夹里面的src目录,执行命令:
make distclean
执行后再次进行config,make 和make install
2、关于ubuntu下的vim配置
在用户家目录(/home/用户名)下面有一个.vimrc
/etc下面也有一个vimrc
一般只改用户家目录下面的 .vimrc 此配置文件只针对用户有效
更改后需使用su - 用户名 来使配置生效(例如 su - zhang3)
.vimrc为隐藏文件 使用ls -al可查看
home目录下,自动生成的是.viminfo, .vimrc和.vim/都要自己建
前面有.的都可以看做是隐藏文件,所以要用ls -al来看
3、后期说明
这篇文章只是对文章开头的那个链接的github教程的补充,阅读此文若参考教程可能更容易理解。因为vim的配置实在是太个性化了,对于我这种初学者来说,我是通过这篇教程来开始入门的。。。
这个方法是本人经过长时间的懵逼摸索后得出的,可能在回忆的过程中出现一点点错误和漏洞,不排除有错误的情况出现。不过,如果各位也是初学者,也为类似问题搞到焦头烂额的时候,这个方法不妨尝试一番。
vim折腾起来真的是非常麻烦,希望各位vim初级爱好者能够继续探索下去,enjoy vim !