Vim 软件包包含了一个强大的文本编辑器。
如果你钟情于其它的编辑器,比如 Emacs、Joe,或 Nano。请参考 http://www.linuxfromscratch.org/blfs/view/9.0/postlfs/editors.html 里的安装指导。
首先,把配置文件 vimrc
从默认位置移动到 /etc
:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
让 Vim 做好编译准备:
./configure --prefix=/usr
编译安装包:
make
为测试做准备,确保 nobody
用户拥有源码目录的写权限:
chown -Rv nobody .
现在用用户 nobody
执行测试:
su nobody -s /bin/bash -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-8.1.1846
访问该文档,让它的位置与其它软件包的文档位置保持一致:
ln -sv ../vim/vim81/doc /usr/share/doc/vim-8.1.1846
如果要把一个 X Window 系统安装在 LFS 系统上,可能得在安装完 X 系统后再重新编译 Vim。Vim 带有一个 GUI 版本,这个版本需要安装 X 和一些额外的库。想了解更多信息,请参考 Vim 文档和 BLFS http://www.linuxfromscratch.org/blfs/view/9.0/postlfs/vim.html 中 Vim 安装指导页。
默认情况下,vim 是以不兼容 vi 的模式运行的。这对于过去使用其它编辑器的用户可能是个新问题。下面列出了「非兼容性」设置以突出显示使用的新特性。它也提醒着那些想换成「兼容」模式的人,这是配置文件里第一个该被设置的地方。这非常有必要,因为它会改变其它的设置,而且覆写必须在这个设置之后。以下面的方式,创建一个默认的 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 和远程连接的时候用鼠标粘帖文本。最后,带有 set background=dark
的 if 语句矫正了 vim
对于某些终端模拟器的背景颜色的估算。这让某些写在黑色背景上的程序的高亮色能有更好的调色方案。
用下面的命令可以获得其它选项的文档:
vim -c ':options'
默认情况下,Vim 只安装了英文的拼写检查文件。要想安装你想要的语言的拼写检查文件,请从 ftp://ftp.vim.org/pub/vim/runtime/spell/
下载你所用语言的 *.spl
文件,可下可不下的
*.sug
文件和文字编码。并把它们保存到 /usr/share/vim/vim81/spell/
。
要使用这些文件,需要设置 /etc/vimrc
里的某些项,例如:
set spelllang=en,ru
set spell
想要了解更多信息,请阅读上方 URL 里对应 README 文件。