美文网首页
Vim技能修炼教程(17) - 编译自己的Vim

Vim技能修炼教程(17) - 编译自己的Vim

作者: Jtag特工 | 来源:发表于2017-07-24 11:15 被阅读142次

    编译自己的Vim

    前面我们已经对Vim有比较丰富的了解了。我们也知道Vim有很多编译时的选项,很多功能依赖于这些编译选项。其中最重要的就是脚本语言的支持,很多发行版本是不全的。为了支持我们所需要的功能,我们需要编译自己的Vim.

    首先我们要下载Vim的源代码:

    git clone https://github.com/vim/vim.git
    

    Linux上编译Vim

    以Ubuntu为例,首先要安装一些库的开发包,例:

    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 python-dev ruby-dev mercurial
    

    图形化界面支持

    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库呢,我们以ubuntu 12.04为例,首先启动vim,执行下面的命令

    :read !apt-cache search motif
    

    然后我们在结果里面看到了libmotif4和libmotif-dev,分别用:!sudo apt-get install去安装它们就好。
    然后执行:

    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:

    sudo apt-get install perl
    

    sudo apt-get install perl6
    

    第二步,安装perl的开发库:

    sudo apt-get install libperl-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://img.haomeiwen.com/i1638145/8a89e3c93f6836f2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    在mac上缺什么模块就用Homebrew来安装,一般不用指定,都可找到。
    
    

    相关文章

      网友评论

          本文标题:Vim技能修炼教程(17) - 编译自己的Vim

          本文链接:https://www.haomeiwen.com/subject/mbpjkxtx.html