Estimated build time: 2 minutes Estimated required disk space: 15 MB |
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.
Install Vim by running the following commands:
sed '/shUntil\|link shRepeat/{ /shUntil/N /^/i\ if exists("b:is_kornshell") || exists("b:is_bash") p /$/i\ endif d }' runtime/syntax/sh.vim > sh.vim.fixed && mv sh.vim.fixed runtime/syntax/sh.vim && ./configure --prefix=/usr && make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" && 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.
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:
sed '/shUntil\|link shRepeat/{ /shUntil/N /^/i\ if exists("b:is_kornshell") || exists("b:is_bash") p /$/i\ endif d }' runtime/syntax/sh.vim > sh.vim.fixed && mv sh.vim.fixed runtime/syntax/sh.vim && ./configure --prefix=/usr --localstatedir=/var/lib/vim && make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" && make install && cd /usr/bin && ln -sf vim vi |
sed '/shUntil\|link shRepeat/{...: This sed command fixes a bug in the syntax/sh.vim file that will cause an error message when you edit a shell script using syntax highlighting.
make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\": Setting this will cause vim to look for the /etc/vimrc file that contains the global vim settings. Normally this file is looked for in /usr/share/vim, but /etc is a more logical place for this kind of file.
The Vim package contains the ex, gview, gvim, rgview, rgvim, rview, rvim, view, vim, vimtutor and xxd programs.
ex starts vim in Ex mode.
gview is the GUI version of view.
gvim is the GUI version of vim.
rgview is the GUI version of rview.
rgvim is the GUI version of rvim.
rview is a restricted version of view. No shell commands can be started and Vim can't be suspended.
rvim is the restricted version of vim. No shell commands can be started and Vim can't be suspended.
view starts vim in read-only mode.
vim starts vim in the normal, default way.
vimtutor starts the Vim tutor.
xxd makes a hexdump or does the reverse.
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