The Vim package contains a powerful text editor.
If you prefer another editor—such as Emacs, Joe, or Nano—please refer to http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html for suggested installation instructions.
First, unpack both vim-7.0.tar.bz2
and (optionally) vim-7.0-lang.tar.gz
archives into the same directory. Then, patch Vim with several
fixes from upstream developers since the initial release of
Vim-7.0:
patch -Np1 -i ../vim-7.0-fixes-15.patch
This version of Vim installs translated man pages and places them into directories that will not be searched by Man-DB. Patch Vim so that it installs its man pages into searchable directories and ultimately allows Man-DB to transcode the page into the desired format at run-time:
patch -Np1 -i ../vim-7.0-mandir-1.patch
Finally, change the default location of the vimrc configuration file to /etc:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
Now prepare Vim for compilation:
./configure --prefix=/usr --enable-multibyte
The meaning of the configure options:
--enable-multibyte
This switch enables support for editing files in multibyte character encodings. This is needed if using a locale with a multibyte character set. This switch is also helpful to be able to edit text files initially created in Linux distributions like Fedora Core that use UTF-8 as a default character set.
Compile the package:
make
To test the results, issue: make
test. However, this test suite outputs a lot of
binary data to the screen, which can cause issues with the settings
of the current terminal. This can be resolved by redirecting the
output to a log file.
Install the package:
make install
Many users are used to using vi instead of vim. To allow execution of vim when users habitually enter vi, create a symlink for both the binary and the man page in the provided languages:
ln -sv vim /usr/bin/vi
for L in "" fr it pl ru; do
ln -sv vim.1 /usr/share/man/$L/man1/vi.1
done
By default, Vim's documentation is installed in /usr/share/vim. The following symlink allows the
documentation to be accessed via /usr/share/doc/vim-7.0, making it consistent with
the location of documentation for other packages:
ln -sv ../vim/vim70/doc /usr/share/doc/vim-7.0
If an X Window System is going to be installed on the LFS system, it may be necessary to recompile Vim after installing X. Vim comes with a GUI version of the editor that requires X and some additional libraries to be installed. For more information on this process, refer to the Vim documentation and the Vim installation page in the BLFS book at http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html#postlfs-editors-vim.
By default, vim runs in vi-incompatible mode. This may be new to users who have used other editors in the past. The “nocompatible” setting is included below to highlight the fact that a new behavior is being used. It also reminds those who would change to “compatible” mode that it should be the first setting in the configuration file. This is necessary because it changes other settings, and overrides must come after this setting. Create a default vim configuration file by running the following:
cat > /etc/vimrc << "EOF"
" Begin /etc/vimrc
set nocompatible
set backspace=2
syntax on
if (&term == "iterm") || (&term == "putty")
set background=dark
endif
" End /etc/vimrc
EOF
The set nocompatible
setting makes vim
behave in a more useful way (the default) than the vi-compatible
manner. Remove the “no” to
keep the old vi
behavior. The set
backspace=2 setting allows backspacing over line
breaks, autoindents, and the start of insert. The syntax on parameter enables vim's
syntax highlighting. Finally, the if statement with the set background=dark setting corrects
vim's guess about the
background color of some terminal emulators. This gives the
highlighting a better color scheme for use on the black background
of these programs.
Documentation for other available options can be obtained by running the following command:
vim -c ':options'
By default, Vim only installs spell files for the English
language. To install spell files for your preferred language,
download the *.spl and
optionally, the *.sug files for
your language and character encoding from ftp://ftp.vim.org/pub/vim/runtime/spell/
and save them to /usr/share/vim/vim70/spell/.
To use these spell files, some configuration in /etc/vimrc is needed, e.g.:
set spelllang=en,ru
set spell
For more information, see the appropriate README file located at the URL above.