Vim技能修煉教程(17) - 編譯自己的Vim
編譯自己的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庫的效果:
實現步驟:
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
這些都配好了之後,我們就可以編譯出一版基本上全功能的版本了:
編譯命令示例:
./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,帶圖形界麵:

在mac上缺什麼模塊就用Homebrew來安裝,一般不用指定,都可找到。
最後更新:2017-07-24 12:02:45