Vim 软件包包含一个强大的文本编辑器。
如果你更喜欢其他的编辑器—比如 Emacs, Joe, 或 Nano—请参考 http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html获取安装方法。
首先,将 vim-7.2.tar.bz2 和 (可选) vim-7.2-lang.tar.gz 压缩包展开到同一个目录下。
应用一个 patch,它修复了从Vim-7.2版发行以来,一些已经发现并被上游维护者修复的问题:
patch -Np1 -i ../vim-7.2-fixes-5.patch
把配置文件 vimrc 的默认位置修改到 /etc 目录中:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
现在,为编译 Vim 做准备:
./configure --prefix=/usr --enable-multibyte
配置选项的含义:
--enable-multibyte
这个选项使得 Vim 可以支持使用多字节字符编码的文件,在一个使用多字节字符集的 locale 上,这是必需的。另外该选项还有助于编辑在默认使用 UTF-8 字符集的其它 Linux 发行版(如 Fedora )上创建的文本文件。
编译这个软件包:
make
要测试结果,请运行:
make test
然而,Vim 的测试套件会输出大量的二进制字符到屏幕上, 有时会把当前的终端设置搞乱, 所以可以考虑将其输出重定向到一个日志文件。
安装这个软件包:
make install
许多用户习惯于使用 vi 而不是 vim , 下面的命令为适应这种习惯创建一个二进制文件以及所提供语言的man文档的符号链接:
ln -sv vim /usr/bin/vi for L in /usr/share/man/{,*/}man1/vim.1; do ln -sv vim.1 $(dirname $L)/vi.1 done
默认情况下, Vim的文档被安装在 /usr/share/vim目录下。下面的符号链接允许通过 /usr/share/doc/vim-7.2来访问,使其与其他软件包的文档保持一致:
ln -sv ../vim/vim72/doc /usr/share/doc/vim-7.2
如果您计划在您的 LFS 系统上安装 X Window 系统,那么您可能必须在安装 X 之后重新编译 Vim 。Vim 有带有图形用户接口的版本,但需要安装 X 和其它一些库。 要了解更多关于这方面的信息请参考 Vim 的安装手册和 BLFS 中有关 Vim 安装指导的页面: http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html#postlfs-editors-vim.
在默认情况下,vim是以与 vi 兼容的模式运行, 这可能对使用过其它文本编辑器的人来说感到陌生。 下面的配置文件明确的设置了"nocompatible"模式(也可以改用"compatible"模式), 这是必要的, 因为如果要改变或覆盖其它设置, 必须要在这个设置之后。 使用下面的命令创建一个默认的vim配置文件:
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
set nocompatible
将使 vim 以比默认的 vi 兼容模式功能更强的方式运行。你可以去掉“no” 来保持默认的 vi 模式 。set backspace=2 让退格键能跨行、自动缩进、插入。 syntax on 选项打开了 vim 的语法高亮功能。最后,带有set background=dark 的 if 语句纠正了 vim对于终端背景颜色的猜测。对于那些使用黑色背景的用户这是一个较好的配色方案。
使用下面的命令可以得到其它可用的选项的说明文档:
vim -c ':options'
默认情况下,Vim仅会安装英文的拼写检查文件。要安装你熟悉的语言的拼写检查文件,从 ftp://ftp.vim.org/pub/vim/runtime/spell/下载与你的语言相关的*.spl 文件和 *.sug文件(可选),以及字符解码器。把它们保存到/usr/share/vim/vim72/spell/目录下。
To use these spell files, some configuration in /etc/vimrc
is needed, e.g.:
set spelllang=en,ru
set spell
更多信息,请查看上面URL上相应的 README 文件。