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
(可选)解包到同一个目录下。
运用一个补丁来修正已经发现的 Vim-7.2 的一些 bug:
patch -Np1 -i ../vim-7.2-fixes-3.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 Core)上创建的文本文件。
编译软件包:
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 Windows 系统,那么您可能必须在安装 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/
目录下。
要使用这些拼写检查文件,在 /etc/vimrc
需要一些配置选项,例如:
set spelllang=en,ru
set spell
要获取更多的信息,可以查看上面 URL 上的 README 文件.