Sparkup简单使用

2011-04-06 18:50

今天在CPyUG邮件列表里面看到有人推荐用zen coding来写HTML. 这个插件比默认的html插件好用点儿, 对于熟悉jQuery的人而言更是如此. 不过这个名字让我比较不爽, 下面有人推荐sparkup, 于是装了个. 在这儿写下配置记录.

安装和基本配置

这个按照官方文档来就行了. 我用的是vim, 把解压得到的vim丢进我的.vim就行了. 我的ftplugin目录里面有一个之前使用的html.vim, 鉴于不如这个插件好用, 就直接删除了.

默认的补全方法是Ctrl-E, 这个让我比较不爽. 于是把这个键改成了tab, 这个设置很容易, 在自己的.vimrc里面加入这样一行就可以了:

let g:sparkupExecuteMapping = '<tab>'

需要注意的是, 原来文本文件里的tab补全也会因此失效, 我想应该能够有办法把补全限定在html标签和自定义的词句里面, 不过暂时没时间去解决这个问题了.

个性化

按照默认的配置, 我们在一个.html文件里写入html.4, 然后按下补全键, 则会得到下面的内容:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title></title>
</head>
<body>
</body>
</html>

这个不太满足我的需要, 我写的网页一般都是中文的, 也有些习惯性的配置. 为了满足我的需求, 我编辑了ftplugin/html目录下的sparkup.py文件:

'html:4': {
    'expand': True,
    'opening_tag':
    '&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">n' +
    '&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn">n' +
    '&lt;head>n' +
    '    &lt;link rel="stylesheet" type="text/css" href="/media/css/.css" />n' +
    '    &lt;meta http-equiv="content-type" content="text/html; charset=utf-8" />n' +
    '    &lt;link href="/media/img/favicon.ico" rel="icon" type="image/x-icon" />n' +
    '    &lt;title>&lt;/title>n' +
    '    &lt;script type="text/javascript" src="/media/js/jquery.js">&lt;/script>n' +
    '    &lt;script type="text/javascript" src="/media/js/.js">&lt;/script>n' +
    '&lt;/head>n' +
    '&lt;body>n',
    'closing_tag':
    '&lt;/body>n' +
    '&lt;/html>'
},

然后编辑下面的synonyms部分:

'html5': 'html:5',
'html': 'html:4',

这样我就能够完成前面所说的要求了. 在.html文件中写下html, 然后按Tab, 就能完成我想要的补全了.

基本上, 这个东西是一个简单的, 支持类jQuery语法的HTML补全工具. 能够有效地避免手写html里繁复的tag.