根据tampermonkey利用@require调用本地脚本的方法,比如我电脑上保存了Tampermonkey脚本a.user.js和它调用的a.js,
想在Vim编辑这两个文件时,都能一键打开网页里的a脚本,网址格式是:chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/options.html#nav=11bdfe33-99f5-45b7-926d-b8c74a1f7db2+editor
同个用户,=前的内容都是相同的,
同个脚本,不同电脑,nav=后面的内容也是不同的,所以在js文件的插件里,我定义了如下脚本实现F3一键打开网址:
nnoremap <buffer><F3> :<C-u>w<CR>:call <SID>JS_runTampermonkey(expand('%:r'))<CR>function! s:JS_runTampermonkey(file)"删除Tampermonkey脚本文件名的.user,使得a.user.js和a.js文件的fn都为alet fn = substitute(a:file, '\.user$', '', '')"保存a,b,c脚本在家里和单位的名称,第1个是家里,第2个是单位let names = {\ 'a' : ['11bdfe33-99f5-45b7-926d-b8c74a1f7db2', '9bcd10d7-470b-4467-a2e6-9f56f652d31a'],\ 'b' : ['75154d0e-752a-424c-afbe-4674ab6bd063', '44106a55-5e44-419e-aca7-461441358985'],\ 'c': ['83192010-644c-4a1b-bb9b-c000f2955f04', '9c91b53c-8121-4957-bc75-79abb325a5a1']\}
let pc = hostname() != 'HOME-PC' "家里电脑为序号0,单位为序号1if has_key(names, fn) "如果在names定义了,就用浏览器打开网址execute 'silent !start /b d:\soft\Chrome\Chrome.exe '\ . fnameescape('chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/options.html#nav=')\ . names[fn][pc]endif
endfunction