The Vim package contains a powerful text editor.
Approximate build time: 0.4 SBU
Required disk space: 34 MB
Vim installation depends on: Bash, Binutils, Coreutils,
Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed
6.23.1. Installation of Vim
First, unpack both vim-6.3.tar.bz2 and
(optionally) vim-6.3-lang.tar.gz archives
into the same directory. Then, change the default locations of the
vimrc and gvimrc configuration files to /etc:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h
Prepare Vim for compilation:
./configure --prefix=/usr --enable-multibyte
The optional but highly recommended --enable-multibyte switch includes support
for editing files in multibyte character encodings into
vim. 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 chaotic
characters to the screen, which can cause issues with the settings
of the current terminal. Therefore, running the test suite here is
optional.
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:
ln -s vim /usr/bin/vi
If the 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 appear first.
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 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 allows backspacing over
line breaks, autoindents, and the start of insert. The syntax on enables vim's syntax
highlighting. Finally, the if statement with the set background=dark 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'
Installed programs: efm_filter.pl, efm_perl.pl, ex (link
to vim), less.sh, mve.awk, pltags.pl, ref, rview (link to vim),
rvim (link to vim), shtags.pl, tcltags, vi (link to vim), view
(link to vim), vim, vim132, vim2html.pl, vimdiff (link to vim),
vimm, vimspell.sh, vimtutor, and xxd
Short Descriptions
-
efm_filter.pl
-
A filter for creating an error file that can be read by
vim
-
efm_perl.pl
-
Reformats the error messages of the Perl interpreter for use
with the “quickfix”
mode of vim
-
ex
-
Starts vim in ex mode
-
less.sh
-
A script that starts vim
with less.vim
-
mve.awk
-
Processes vim errors
-
pltags.pl
-
Creates a tags file for Perl code for use by vim
-
ref
-
Checks the spelling of arguments
-
rview
-
Is a restricted version of view; no shell commands can be started
and view cannot be
suspended
-
rvim
-
Is a restricted version of vim; no shell commands can be started
and vim cannot be
suspended
-
shtags.pl
-
Generates a tag file for Perl scripts
-
tcltags
-
Generates a tag file for TCL code
-
view
-
Starts vim in read-only
mode
-
vi
-
Is the editor
-
vim
-
Is the editor
-
vim132
-
Starts vim with the
terminal in 132-column mode
-
vim2html.pl
-
Converts Vim documentation to HypterText Markup Language
(HTML)
-
vimdiff
-
Edits two or three versions of a file with vim and show differences
-
vimm
-
Enables the DEC locator input model on a remote terminal
-
vimspell.sh
-
Spells a file and generates the syntax statements necessary
to highlight in vim. This
script requires the old Unix spell command, which is provided neither
in LFS nor in BLFS
-
vimtutor
-
Teaches the basic keys and commands of vim
-
xxd
-
Creates a hex dump of the given file; it can also do the
reverse, so it can be used for binary patching