VIM 与 DocBook
VIM
VIM 有很多特性,有助于撰写类似 DocBook 的 XML 文档,包括语法高亮和可定制的按键绑定。另外,还可以用外部程序辅助 VIM 完成拼写检查等操作。本章假定您已知悉 VIM 一般用法;如果您要学习一般用法,执行 vimtutor 或在 VIM 中执行 :help tutor。
设置 .vimrc 文件
VIM
配置文件
下面是一个示例 .vimrc 文件,打开了一些 VIM 特性,便于编辑类似 DocBook 的 SGML 或 XML 文档:
" 关闭 vi 兼容特性,类似有限的撤销
set nocompatible
" 基于文件扩展名的语法高亮
syntax on
" 在 80 个字符后面自动插入新行
set textwidth=80
" 自动缩进
set autoindent
" 使用 % 匹配 SGML 标记
source $VIMRUNTIME/macros/matchit.vim
一些特性需要安装 vim-enhanced。如果您使用的是 vim-minimal,或者是旧版本的 VIM,可能不包含 $VIMRUNTIME/macros/matchit.vim 文件,那么可以在 Vim.org 下载 matchit.zip 并加载。
VIM 中的按键映射
VIM 可以使创建 DocBook 文档更加快捷,只要将经常使用的标记 (或任何词汇短语) 定义为快捷键。默认情况下,键盘映射以反斜线 (\) 开始,但是也可以用命令定义,类似 let mapleader =
","。有两种方式来使用下面的例子;您可以将它写在 .vimrc 文件中,或者将它保存为单独的文件,并在 .vimrc 文件中以 source 命令加载。e />:nohlsearcha
" common tags that start a new text block
imappa O
imaps1 joO
imappl O0i
imapcp O0i
" common tags that are placed inline
" use F>a
imapen F>a
imapfi F>a
imaplt F>a
imapre F>a
imapui F>a
imapul F>a
imapsi F>a
imapus F>a
imapsy F>a
imapcm F>a
" entities
imap > >
imap < <
]]>
不幸的是,这不是所有 DocBook 命令的完整集合,因此您需要自行定义,或定制 范例中的定义。
其他 VIM 资源
其他 VIM 相关的资源可以在这里找到:
示例 sgml-vimrc,来自 Beginner's guide to Vi Improved (VIM)
VIM Quick Reference Card
Vim 作为 XML 编辑器
VIM REFERENCE MANUAL,包含在 vim-common 软件包中 — /usr/share/vim/<version>/doc/intro.txt,可以在 VIM 中执行 :help intro 查看。