Vim 软件包包含强大的文本编辑器。
如果您喜爱其他编辑器 —— 例如 Emacs、Joe、或者 Nano —— 参考 http://www.linuxfromscratch.org/blfs/view/8.3/postlfs/editors.html 中建议的安装说明。
首先,修改 vimrc
配置文件的默认位置为 /etc
:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
准备编译 Vim:
./configure --prefix=/usr
编译该软件包:
make
运行以下命令以测试编译结果:
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
访问符号链接,这个路径与其他软件包的文档位置格式一致:
ln -sv ../vim/vim81/doc /usr/share/doc/vim-8.1
如果在安装 LFS 系统后安装了 X 窗口系统,可能需要在安装 X 后重新编译 Vim 。 Vim 提供的 GUI 版本编辑器需要 X 和一些额外的软件包才能安装。 关于这一安装过程的更多信息,参考 Vim 文档和 BLFS 手册中位于 http://www.linuxfromscratch.org/blfs/view/8.3/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 的旧模式。如果需要保留旧的 vi 行为,删除其中的 “no”。 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 文件。