默认情况下,使用emmet扩展html:5如下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
我想在我的vim中扩展html:5时如下自定义它。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link href="" >
</head>
<body>
</body>
</html>
这是我的尝试。
vim snippets.json
#to change the line containing doc": as
doc": "html>(head>meta[charset=${charset}]+meta:vp+meta:edge+link[href=\"\"])+body",
为什么在展开html:5时仍然没有链接标签?
我假设您正在使用emmet-vim插件。
它将完整的emmet
配置(包括代码片段部分)存储在.vim/autoload/emmet.vim
文件中,这就是为什么它看不到您对独立snippets.json
文件所做的更改的原因。
这是vim.org上的插件文档说的话:
您可以使用覆盖配置来自定义扩展行为。此配置将在加载插件时合并。
let g:user_emmet_settings = {
\ 'indentation' : ' ',
\ 'perl' : {
\ 'aliases' : {
\ 'req' : 'require '
\ },
\ 'snippets' : {
\ 'use' : "use strict\nuse warnings\n\n",
\ 'warn' : "warn \"|\";",
\ }
\ }
\}
因此,要添加<link/>
到html:5
摘要中,您要做的就是将以下内容添加到~/.vimrc
文件中:
let g:user_emmet_settings = {
\ 'html' : {
\ 'snippets' : {
\ 'html:5': "<!DOCTYPE html>\n"
\ ."<html lang=\"${lang}\">\n"
\ ."<head>\n"
\ ."\t<meta charset=\"${charset}\">\n"
\ ."\t<title></title>\n"
\ ."\t<link href=\"\">"
\ ."</head>\n"
\ ."<body>\n\t${child}|\n</body>\n"
\ ."</html>"
\ }
\ }
\}
现在,当您重新启动vim并键入html:5 <c-y>,
它时,将产生您想要的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link href="">
</head>
<body>
或者,安装Vim WebAPI插件,并snippets.json
用它加载您的自定义,如下所示:
~/.vimrc
let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/snippets.json')), "\n"))
~/snippets.json
{
"html" : {
"snippets": {
"html:5": "<!DOCTYPE html>\n <html lang=\"${lang}\">\n<head>\n \t<meta charset=\"${charset}\">\n \t<title></title>\n \t<link href=\"\"> </head>\n <body>\n\t${child}|\n</body>\n </html>"
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句