6.11. Installing Vim-5.8

Estimated build time:           2 minutes
Estimated required disk space:  15 MB

6.11.1. Installation of Vim

If you don't like vim to be installed as an editor on the LFS system, you may want to download an alternative and install an editor you prefer. There are a few hints how to install different editors available at http://hints.linuxfromscratch.org/hints/. The hints which are currently available are for Emacs, Joe and nano.

Both the vim-rt and vim-src packages need to be unpacked to install Vim. Both packages will unpack their files into the vim-5.8 directory. This won't overwrite any files from the other package. So it doesn't matter in which order it is done. Install Vim by running the following commands:

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> \
   src/feature.h &&
./configure --prefix=/usr &&
make &&
make install &&
cd /usr/bin &&
ln -sf vim vi

If you plan on installing the X Window system on your LFS system, you might want to re-compile Vim after you have installed X. Vim comes with a nice GUI version of the editor which requires X and a few other libraries to be installed. For more information read the Vim documentation.

6.11.2. FHS compliance notes

The FHS says that editors like vim should use /var/lib/<editor> for their temporary state files, like temporary save files for example. If you wish vim to conform to the FHS, you should use this command set instead of the one presented above:

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> \
   src/feature.h &&
./configure --prefix=/usr --localstatedir=/var/lib/vim &&
make &&
make install &&
cd /usr/bin &&
ln -sf vim vi &&
mkdir /var/lib/vim

6.11.3. Command explanations

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h: This will change the location of the global vim configuration file vimrc to /etc rather than /usr/share/vim

6.11.4. Contents

The Vim package contains the ex, gview, gvim, rgview, rgvim, rview, rvim, view, vim, vimtutor and xxd programs.

6.11.5. Description

6.11.5.1. ex

ex starts vim in Ex mode.

6.11.5.2. gview

gview is the GUI version of view.

6.11.5.3. gvim

gvim is the GUI version of vim.

6.11.5.4. rgview

rgview is the GUI version of rview.

6.11.5.5. rgvim

rgvim is the GUI version of rvim.

6.11.5.6. rview

rview is a restricted version of view. No shell commands can be started and Vim can't be suspended.

6.11.5.7. rvim

rvim is the restricted version of vim. No shell commands can be started and Vim can't be suspended.

6.11.5.8. view

view starts vim in read-only mode.

6.11.5.9. vim

vim starts vim in the normal, default way.

6.11.5.10. vimtutor

vimtutor starts the Vim tutor.

6.11.5.11. xxd

xxd makes a hexdump or does the reverse.

6.11.6. Dependencies

Vim-5.8 needs the following to be installed:


sh from the bash package

ld from the binutils package
as from the binutils package

cmp from the diffutils package
diff from the diffutils package

chmod from the fileutils package
cp from the fileutils package
ln from the fileutils package
mkdir from the fileutils package
mv from the fileutils package
rm from the fileutils package
touch from the fileutils package

find from the find package

cc from the gcc package

grep from the grep package

make from the make package

hostname from the net-tools package

sed from the sed package

echo from the sh-utils package
expr from the sh-utils package
uname from the sh-utils package
whoami from the sh-utils package

cat from the textutils package
tr from the textutils package
wc from the textutils package