Vim技能修炼教程(17) - 编译自己的Vim
摘要:随着我们的vim知识越来越丰定,我们已经可能需要编译自己的vim了
编译自己的Vim
前面我们已经对Vim有比较丰富的了解了。我们也知道Vim有很多编译时的选项,很多功能依赖于这些编译选项。其中最重要的就是脚本语言的支持,很多发行版本是不全的。为了支持我们所需要的功能,我们需要编译自己的Vim.
首先我们要下载Vim的源代码:
gitclonehttps://github.com/vim/vim.git
Linux上编译Vim
以Ubuntu为例,首先要安装一些库的开发包,例:
sudoapt-getinstalllibncurses5-devlibgnome2-devlibgnomeui-devlibgtk2.0-devlibatk1.0-devlibbonoboui2-devlibcairo2-devlibx11-devlibxpm-devlibxt-devpython-devruby-devmercurial
图形化界面支持
GUI已经统治世界了,GUI会给用户带来方便,我们后面也会讲菜单的用法。首先,我们需要能编译出带GUI的版本。
enable-gui支持下面一些选项:
auto:由vim自动选择
no:没有gui
gtk2
gtk3
gnome2
motif
athena
neXtaw
photon
carbon
我们首先试试使用motif库的效果:
motif
实现步骤:
1.首先安装motif库。
2.然后安装motif-dev库。
3.configure--enable-gui=motif
如何安装motif库呢,我们以ubuntu12.04为例,首先启动vim,执行下面的命令
:read!apt-cachesearchmotif
然后我们在结果里面看到了libmotif4和libmotif-dev,分别用:!sudoapt-getinstall去安装它们就好。
然后执行:
configure--enable-gui=motif
make
运行src/vim-g,就可以看到motif界面的vim啦。
同样的方法,我们可以用来生成gtk2,gtk3,gnome2等界面风格。
扩展语言的支持
Vim目前一共支持7种扩展语言:
lua:Lua语言
perl:Perl语言
python:Python语言2.x版本
python3:Python语言3.x版本
tcl:Tcl语言。
ruby:Ruby语言
mzscheme:Racket语言,是Scheme语言的一种方言。
支持这些语言需要三步曲:
1.安装语言本身。要支持一门语言,连语言都不安装说不过去哈
2.安装语言的开发包。vim需要头文件和开发库
3.configuration打开支持选项
对于需要指定语言路径的,可能还需要第4步。
我们以perl为例来说明:
第一步,安装perl:
sudoapt-getinstallperl
或
sudoapt-getinstallperl6
第二步,安装perl的开发库:
sudoapt-getinstalllibperl-dev
第三步,重新配置并编译
./configure--enable-perlinterp
这些都配好了之后,我们就可以编译出一版基本上全功能的版本了:
gtk3
编译命令示例:
./configure--enable-gui=gtk3--enable-python3interp--enable-pythoninterp--enable-rubyinterp--enable-luainterp--enable-mzschemeinterp--enable-perlinterp--with-vim-name=vim8
Mac上编译vim
在Mac上,我们需要一个定制的版本MacVim:https://github.com/macvim-dev/macvim。
enable-gui时不用指定,默认就好。
命令例:
./configure--enable-gui--enable-pythoninterp--enable-python3interp--enable-perlinterp--enable-mzschemeinterp--enable-rubyinterp--enable-cscope--enable-tclinterp--enable-luainterp--with-lua-prefix=/usr/local/Cellar/lua/5.2.4_4/```
编译之后会生成Vim.app,带图形界面:
![macvim](https://yqfile.alicdn.com/625c9bf33baab9476ee975cdaa2c3a66bdd7ed81.png)
在mac上缺什么模块就用Homebrew来安装,一般不用指定,都可找到。