Vim直接打开Tampermonkey网址的方法。
根据 tampermonkey利用@require调用本地脚本的方法
比如我电脑上保存了 Tampermonkey 脚本 a.js
,想在 Vim
编辑脚本时,能按F3
打开网页里的脚本,
网址格式是:chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/options.html#nav=aaaaaaaa-bbbb-45b7-926d-b8c74a1f7db2
区别就是nav=
后面的内容,所以在 $Vim\vimfiles\ftplugin\javascript\javascript.vim
里,我定义了如下脚本实现F3
一键打开网址:
需要设置 g:browser
和 objName
里的内容
另外,对于其他 js 脚本,直接用 node
运行
nnoremap <buffer><F3> :<C-u>w<CR>:call <SID>JS_runTampermonkey(expand('%:r'))<CR>
function! s:JS_runTampermonkey(fp) abort
"删除Tampermonkey脚本文件名的.user
let g:browser = 'd:\Soft\Browser\CentBrowser\chrome.exe'
let name = substitute(a:fp, '.*\\', '', '')
let fn = substitute(name, '\v\.user\.js$', '', '')
if stridx(a:fp, 'Surfingkeys') != -1
execute 'silent !start /b '.g:browser.' chrome-extension://gfbliohnnapiefjpjlpjnehglfpaknnc/pages/options.html'
return
endif
if stridx(a:fp,'tampermonkey') != -1
let objName = {
\ 'a' : 'aaaaaaaa-bbbb-45b7-926d-b8c74a1f7db2',
\ }
if has_key(objName, fn)
execute printf('silent !start /b %s %s%s', g:browser,fnameescape('chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/options.html#nav='),objName[fn])
return
endif
endif
echom 'node'
execute '!node %'
endfunction