Vim 软件包包含强大的文本编辑器。
如果您喜爱其他编辑器 —— 例如 Emacs、Joe、或者 Nano —— 参考 https://www.linuxfromscratch.org/blfs/view/12.0/postlfs/editors.html 中建议的安装说明。
首先,修改 vimrc
配置文件的默认位置为 /etc
:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
准备编译 Vim:
./configure --prefix=/usr
编译该软件包:
make
为了准备运行测试套件,需要使得 tester
用户拥有写入源代码目录树的权限:
chown -Rv tester .
现在,以 tester
用户身份运行测试:
su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log
测试套件会将大量二进制数据输出到屏幕。这可能扰乱当前终端设置。为了避免这个问题,像上面的命令一样,将输出重定向到日志文件。测试成功完成后,日志文件末尾会包含 “ALL DONE”。
安装该软件包:
make install
许多用户条件反射地输入 vi,而不是 vim。为了在用户习惯性地输入 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-9.0.1677
访问文档,这个路径与其他软件包的文档位置格式一致:
ln -sv ../vim/vim90/doc /usr/share/doc/vim-9.0.1677
如果在安装 LFS 系统后安装了 X 窗口系统,可能需要在安装 X 后重新编译 Vim。Vim 提供的 GUI 版本编辑器需要 X 和一些额外的软件包才能安装。关于这一安装过程的更多信息,参考 Vim 文档和 BLFS 手册中位于 https://www.linuxfromscratch.org/blfs/view/12.0/postlfs/vim.html 的 Vim 安装页面。
默认情况下,vim 在不兼容 vi 的模式下运行。这对于过去使用其他编辑器的用户来说可能显得陌生。以下配置包含的 “nocompatible” 设定是为了强调编辑器使用了新的行为这一事实。它也提醒那些想要使用 “compatible” 模式的用户,必须在配置文件的一开始改变模式。这是因为它会修改其他设置,对这些设置的覆盖必须在设定模式后进行。执行以下命令创建默认 vim 配置文件:
cat > /etc/vimrc << "EOF"
" Begin /etc/vimrc
" Ensure defaults are set before customizing settings, not after
source $VIMRUNTIME/defaults.vim
let skip_defaults_vim=1
set nocompatible
set backspace=2
set mouse=
syntax on
if (&term == "xterm") || (&term == "putty")
set background=dark
endif
" End /etc/vimrc
EOF
set nocompatible
设定使得
vim 以一种更有用的方式
(也是默认方式) 行动,而不是兼容于 vi 的旧模式。删除其中的 “no” 可以保持旧的 vi 行为。set backspace=2
设定允许退格越过换行,自动缩进,以及插入模式的起始位置。参数 syntax
on
启用 vim 符号高亮功能。参数 set
mouse=
允许在 chroot
中或通过远程连接工作时使用鼠标正确地粘贴文本。最后,if
语句为 set background=dark
纠正
vim
对于某些终端模拟器背景色的猜测。这能够提供更适合这些程序黑色背景的配色方案。
关于其他可用选项的文档可以通过执行以下命令获得:
vim -c ':options'
默认情况下 Vim 只安装英语拼写检查文件。如果希望安装您使用的语言的拼写检查文件,需要将适用于您的语言和字符编码的
.spl
文件和可选的 .sug
文件从 runtime/spell
复制到/usr/share/vim/vim90/spell/
。
为了使用这些拼写检查文件,需要在 /etc/vimrc
中进行配置,例如:
set spelllang=en,ru
set spell
参阅 runtime/spell/README.txt
获得更多信息。