6.23. Vim-6.3

Vim 软件包包含一个强大的文本编辑器。

大致编译时间: 0.4 SBU
所需磁盘空间: 38.0 MB
安装依赖于: Bash、Binutils、Coreutils、Diffutils、GCC、Glibc、Grep、Make、Ncurses 和 Sed
[Tip]

Vim 的替代品

如果您喜欢其他编辑器(例如 Emacs、Joe 或 Nano),请参阅 http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html 以获取建议的安装说明。

6.23.1. 安装 Vim

首先,解压vim-6.3.tar.bz2和(可选)vim-6.3-lang.tar.gz压缩包到同一目录下。然后,更改vimrc配置文件的默认位置为/etc:

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h

Vim 有两个已知的安全漏洞,这些漏洞已在上游解决。以下补丁修复了这些问题

patch -Np1 -i ../vim-6.3-security_fix-2.patch

现在准备编译 Vim

./configure --prefix=/usr --enable-multibyte

configure 选项的含义

--enable-multibyte

这个可选但强烈推荐的开关启用编辑多字节字符编码文件的支持。如果使用多字节字符集的区域设置,则需要此开关。此开关还有助于编辑最初在像 Fedora Core 这样的 Linux 发行版中创建的文本文件,这些发行版使用 UTF-8 作为默认字符集。

编译软件包

make

要测试结果,请执行: make test。但是,此测试套件会向屏幕输出大量二进制数据,这可能会导致当前终端设置出现问题。可以通过将输出重定向到日志文件来解决此问题。

安装软件包

make install

许多用户习惯于使用 vi 而不是 vim。为了允许在用户习惯性地输入 vi 时执行 vim,请创建一个符号链接

ln -sv vim /usr/bin/vi

如果要在 LFS 系统上安装 X Window 系统,则可能需要在安装 X 后重新编译 Vim。Vim 附带一个需要 X 和一些附加库才能安装的 GUI 版本编辑器。有关此过程的更多信息,请参阅 Vim 文档和 BLFS 书籍中 Vim 安装页面,网址为 http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html#postlfs-editors-vim

6.23.2. 配置 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=darkif 语句纠正了 vim 对某些终端模拟器背景颜色的猜测。这为在这些程序的黑色背景上使用高亮显示提供了更好的配色方案。

可以通过运行以下命令获取有关其他可用选项的文档

vim -c ':options'

6.23.3. Vim 的内容

已安装的程序: efm_filter.pl、efm_perl.pl、ex(链接到 vim)、less.sh、mve.awk、pltags.pl、ref、rview(链接到 vim)、rvim(链接到 vim)、shtags.pl、tcltags、vi(链接到 vim)、view(链接到 vim)、vim、vim132、vim2html.pl、vimdiff(链接到 vim)、vimm、vimspell.sh、vimtutor 和 xxd

简短描述

efm_filter.pl

一个用于创建可被 vim 读取的错误文件的过滤器

efm_perl.pl

重新格式化 Perl 解释器的错误消息,以便与 vim 的 “quickfix” 模式一起使用

ex

在 ex 模式下启动 vim

less.sh

一个使用 less.vim 启动 vim 的脚本

mve.awk

处理 vim 错误

pltags.pl

为 Perl 代码创建标签文件,供 vim 使用

ref

检查参数的拼写

rview

view 的受限版本;无法启动 shell 命令,并且无法挂起 view

rvim

vim 的受限版本;无法启动 shell 命令,并且无法挂起 vim

shtags.pl

为 Perl 脚本生成标签文件

tcltags

为 TCL 代码生成标签文件

view

在只读模式下启动 vim

vi

是编辑器

vim

是编辑器

vim132

在 132 列模式下启动 vim

vim2html.pl

将 Vim 文档转换为超文本标记语言 (HTML)

vimdiff

使用 vim 编辑文件的两个或三个版本并显示差异

vimm

在远程终端上启用 DEC 定位器输入模型

vimspell.sh

拼写检查文件并生成在 vim 中突出显示所需的语法语句。此脚本需要旧的 Unix spell 命令,LFS 和 BLFS 均未提供该命令

vimtutor

教授 vim 的基本键和命令

xxd

创建给定文件的十六进制转储;它也可以进行反向操作,因此可以用于二进制补丁