用vim写vue,但是看见vscode的扩展vue-vscode-snippets好用,但是在github查找没有vim的。
但是本人很懒的自己从新制造轮子。
就用nodejs自己动手写一个转换的脚本。
sdras/vue-vscode-snippetsgithub.com![d18631ccc8a3837e91ab11d0baa76d33.png](https://i-blog.csdnimg.cn/blog_migrate/2fc155b284b48c6a5f07bd058ece3361.jpeg)
var fs = require ('fs')
const args = process.argv.slice(2)
/* 获取第一个参数文件,并解析为yiled格式输出*/
function* readjson(){
var date = fs.readFileSync(args[0]);
var person = date.toString()
person = JSON.parse(person)
for(k in person){
yield person[k]
}
}
/*挨个读取数据,并写入文件*/
function writejson(){
var app = readjson()
while(true){
var value = app.next()
if(value.done){return}
comjson(value.value)
}
}
/*处理得到的数据*/
function comjson(data){
var dict = data
var i = 0
var two = ""
for(k in dict){
/*本来想用这个办法,但是太麻烦算求了*/
/* if (k.search("fix") != -1){
console.log('im perfix')
var zuijia = 'snippet '+dict[k]+''
fs.appendFile('./vue.snippets',)
}
if (k.search("dy") != -1){
console.log('im body')
}
*/
i += 1
var one
switch(i){
case 1:
one = dict[k]
break
case 2:
var dicts = dict[k]
for(n in dicts){
two += dicts[n] + "n"
}
break
case 3:
var zuijia = 'nsnippet '+ one + " "+ """+k+""" + "n"+ two + "nendsnippet"
fs.appendFile(args[1], zuijia, (err)=>{
if (err) throw err;
/*有多少个ok 就有多少个数据被处理*/
console.log('ok')
})
break
}
}
}
writejson()
第一个参数为被转换的vue.json
第二个参数为转换后的vue.snippets