Pages

Wednesday, August 14, 2013

Ubuntu 12.04.2 编译 Vim 7.4,带有中文支持

还没编译过vim,趁这次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 libperl-dev python-dev
其中libperl-dev和python-dev分别用于perl和python脚本支持。如果需要lua和ruby的支持,需要分别安装 liblua5.1-0-dev 和 ruby-dev。

git下载Vim源码

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

配置

假设上一步把vim的代码下载到了~/vim目录中。
cd ~/vim
./configure --with-features=huge --with-python-config-dir=/usr/lib/python2.7/config/ --enable-multibyte --enable-cscope --enable-fontset --enable-gui=auto --disable-hangulinput --enable-luainterp=yes --enable-perlinterp=yes --enable-pythoninterp=yes --enable-xim --prefix=/usr
其中

  1. --with-features=huge 打开最多特性。
  2. --with-python-config-dir=/usr/lib/python2.7/config/ 指定的是一个包含config.c的目录(安装python-dev后才有)。
  3. --enable-multibyte 支持多字节文字(中日韩等)
  4. --disable-hangulinput 取消韩国语输入法。
  5. --enable-xim 支持xim输入法(以防不能使用ibus或者fcitx,不知道是否必需)

顺便强烈推荐一下zsh,它兼容bash,可以解析Makefile,Tab自动给出配置选项,使用它就不用手工输入这些长长的选项了,例如:我输入 “./configure --en” 按两次Tab键(按第一次补全为“./configure --enable-”),自动列出所有可用选项,见下图:

zsh自动补全
ZSH自动补全功能
当然它的功能远不止这一项。文件名和其实常用程序的参数自动补全也非常强大。

编译

很简单,直接使用make命令:
make

安装

安装之前,可以先运行一下编译好的新vim,查看功能是否正常
./src/vim --version
./src/vim
确认没有问题后,根据下面参考文档的建议,先把系统原来的vim卸载掉(我安装时没有卸载,安装后vi命令指向的还是原来的vim,vim也是原来的vim。因为我原来的vm安装在/usr/local/bin,现在的vim安装在/usr/bin,vi是vim的链接。新vim安装后好像不会更新vi的链接)
sudo apt-get remove vim vim-addon-manager vim-common vim-gui-common vim-tiny vim-scripts vim-runtime
然后再安装
sudo make install

把vim作为默认编辑器

来自下面参考资料里的方式,很高级的样子。顺便也把vi链接到vim了:
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
sudo update-alternatives --set editor /usr/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
sudo update-alternatives --set vi /usr/bin/vim

参考资料:

Building Vim from source

No comments:

Post a Comment