Building Vim from source(转)
2017-08-31 14:26
253 查看
Compiling Vim from source is actually not that difficult. Here's what you should do:
First, install all the prerequisite libraries, including Git. For a Debian-like Linux distribution like Ubuntu, that would be the following:
On Ubuntu 16.04,
(If you know what languages you'll be using, feel free to leave out packages you won't need, e.g. Python2
For Fedora 20, that would be the following:
This step is needed to rectify an issue with how Fedora 20 installs XSubPP:
Remove vim if you have it already.
On Ubuntu 12.04.2 you probably have to remove these packages as well:
Once everything is installed, getting the source is easy.
Note: If you are using Python, your config directory might have a machine-specific name (e.g.
Note for Ubuntu 14.04 (Trusty) users: You can only use Python 2 or Python 3. If you try to compile vim with both
Add/remove the flags below to fit your setup. For example, you can leave out
Also, if you're not using vim 8.0, make sure to set the VIMRUNTIMEDIR variable correctly below (for instance, with vim 8.0a, use /usr/share/vim/vim80a). Keep in mind that some vim installations are located directly inside /usr/share/vim; adjust to fit your system:
On Ubuntu 16.04, Python support was not working due to enabling both Python2 and Python3. Read answer by chirinosky for workaround.
In practice, Python2 and Python3 are not working at the same time on Ubuntu 14.04.5 LTS. Choosing one of them is OK.
If you want to be able to easily uninstall vim use
Otherwise, you can use
Set vim as your default editor with
Double check that you are in fact running the new Vim binary by looking at the output of
If you don't get gvim working (on ubuntu 12.04.1 LTS), try changing
If you have problems, double check that you
These
If you get stuck, here's some other useful information on building Vim.
First, install all the prerequisite libraries, including Git. For a Debian-like Linux distribution like Ubuntu, that would be the following:
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 \ python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git
On Ubuntu 16.04,
liblua5.1-devis the lua dev package name not
lua5.1-dev.
(If you know what languages you'll be using, feel free to leave out packages you won't need, e.g. Python2
python-devor Ruby
ruby-dev. This principle heavily applies to the whole page.)
For Fedora 20, that would be the following:
sudo yum install -y ruby ruby-devel lua lua-devel luajit \ luajit-devel ctags git python python-devel \ python3 python3-devel tcl-devel \ perl perl-devel perl-ExtUtils-ParseXS \ perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \ perl-ExtUtils-Embed
This step is needed to rectify an issue with how Fedora 20 installs XSubPP:
# symlink xsubpp (perl) from /usr/bin to the perl dir sudo ln -s /usr/bin/xsubpp /usr/share/perl5/ExtUtils/xsubpp
Remove vim if you have it already.
sudo apt-get remove vim vim-runtime gvim
On Ubuntu 12.04.2 you probably have to remove these packages as well:
sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox
Once everything is installed, getting the source is easy.
Note: If you are using Python, your config directory might have a machine-specific name (e.g.
config-3.5m-x86_64-linux-gnu). Check in /usr/lib/python[2/3/3.5] to find yours, and change the
python-config-dirand/or
python3-config-dirarguments accordingly.
Note for Ubuntu 14.04 (Trusty) users: You can only use Python 2 or Python 3. If you try to compile vim with both
python-config-dirand
python3-config-dir, it will give you an error
YouCompleteMe unavailable: requires Vim compiled with Python (2.6+ or 3.3+) support.
Add/remove the flags below to fit your setup. For example, you can leave out
enable-luainterpif you don't plan on writing any Lua.
Also, if you're not using vim 8.0, make sure to set the VIMRUNTIMEDIR variable correctly below (for instance, with vim 8.0a, use /usr/share/vim/vim80a). Keep in mind that some vim installations are located directly inside /usr/share/vim; adjust to fit your system:
cd ~ git clone https://github.com/vim/vim.git cd vim ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp=yes \ --enable-pythoninterp=yes \ --with-python-config-dir=/usr/lib/python2.7/config \ --enable-python3interp=yes \ --with-python3-config-dir=/usr/lib/python3.5/config \ --enable-perlinterp=yes \ --enable-luainterp=yes \ --enable-gui=gtk2 \ --enable-cscope \ --prefix=/usr/local make VIMRUNTIMEDIR=/usr/local/share/vim/vim80
On Ubuntu 16.04, Python support was not working due to enabling both Python2 and Python3. Read answer by chirinosky for workaround.
In practice, Python2 and Python3 are not working at the same time on Ubuntu 14.04.5 LTS. Choosing one of them is OK.
If you want to be able to easily uninstall vim use
checkinstall.
sudo apt-get install checkinstall cd ~/vim sudo checkinstall
Otherwise, you can use
maketo install.
cd ~/vim sudo make install
Set vim as your default editor with
update-alternatives.
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
Double check that you are in fact running the new Vim binary by looking at the output of
vim --version.
If you don't get gvim working (on ubuntu 12.04.1 LTS), try changing
--enable-gui=gtk2to
--enable-gui=gnome2
If you have problems, double check that you
configured using the correct Python config directory, as noted at the beginning of Step 3.
These
configureand
makecalls assume a Debian-like distro where Vim's runtime files directory is placed in
/usr/share/vim/vim80/, which is not Vim's default. Same thing goes for
--prefix=/usrin the
configurecall. Those values may need to be different with a Linux distro that is not based on Debian. In such a case, try to remove the
--prefixvariable in the
configurecall and the
VIMRUNTIMEDIRin the
makecall (in other words, go with the defaults).
If you get stuck, here's some other useful information on building Vim.
相关文章推荐
- Building Vim from source
- 3.6. Building RPMs from Source
- Building Visual Leak Detector from Source
- building-gcc-4-8-from-source-on-ubunu-12-04/
- (OK) Building Android from AOSP source code
- how to build and install vim from source code
- A guide to get you building OGRE from source with the default settings in the shortest possible time
- Chapter 3. Building from Source
- Building Ext From Source(制定自己的EXT版本)
- About Xorg building from the source codes
- Qt for Linux/X11 - Building from Source
- Getting Started With OData Part 2: Building an OData Services from Any Data Source
- Tutorial:Building Ext From Source(制定自己的EXT版本)
- Building an ARM GCC Toolchain from Source
- Android for MSM Project,Downloading and Building from Source
- Building Apache2 From Source on Linux (Redhat 8)
- 【Android平台】 Alljoyn学习笔记三 开发环境的搭建和Building AllJoyn from Source for Android
- Building a Linux Kernel from source
- Building from source--想自己编译cyanogenmod ROM吗?
- ROS Installing from source