Skip to content

Build Vim from source

Charles Qiu edited this page Aug 11, 2025 · 15 revisions

1.Install dependences

  • Ubuntu
sudo apt-get install libgtk-3-dev \
	libx11-dev \
	libxt-dev \
	libxpm-dev \
	libwayland-dev \
	libatk1.0-dev \
	libcairo2-dev \
	libncurses5-dev \
	python3-dev \
	lua5.4 \
	liblua5.4-dev \
	perl \
	libperl-dev \
	ruby \
	ruby-dev
  • OpenSUSE
sudo zypper install python-devel \
	python3-devel \
	ruby-devel \
	lua-devel \
	ncurses-devel \
	gtk2-devel \
	xorg-x11-devel \
	libXpm-devel \
	libXt-devel \
	atk-devel \
	cairo-devel \
	clipboard
  • CentOS
sudo yum install python-devel \
	python3-devel \
	ruby-devel \
	lua-devel \
	perl \
	perl-devel \
	perl-ExtUtils-ParseXS \
	perl-ExtUtils-XSpp \
	perl-ExtUtils-CBuilder \
	perl-ExtUtils-Embed \
	ncurses-devel \
	gtk2-devel \
	libX11-devel \
	libXpm-devel \
	libXt-devel \
	atk-devel \
	cairo-devel

sudo ln -s /usr/bin/xsubpp /usr/share/perl5/ExtUtils/xsubpp
  • Mac
brew install python \
	python3 \
	ruby \
	lua \
	atk \
	cairo

2. Compile and install

./configure --with-features=huge \
	--enable-gui=auto \
	--with-x \
	--enable-python3interp \
	--enable-luainterp \
	--enable-perlinterp \
	--enable-rubyinterp \
	--enable-multibyte \
	--enable-terminal \
	--enable-fontset \
	--enable-cscope \
	--enable-fail-if-missing
make
sudo make install

Clone this wiki locally