閱讀425 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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庫的效果:

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://yqfile.alicdn.com/625c9bf33baab9476ee975cdaa2c3a66bdd7ed81.png)


在mac上缺什麼模塊就用Homebrew來安裝,一般不用指定,都可找到。

最後更新:2017-07-24 12:02:45

  上一篇:go  從優拜共享單車差異化 看物聯網背後的盈利模式
  下一篇:go  Oracle DataGuard:單節點到RAC集群的主備環境搭建