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:browserobjName 里的内容
另外,对于其他 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
posted @ 2017-09-25 21:14  火冷  阅读(1534)  评论(0编辑  收藏  举报