根据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都为a
let 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,单位为序号1
if 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

  

Vim直接打开Tampermonkey网址的方法。的更多相关文章

  1. vim(vi)常用操作及记忆方法

    vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...

  2. (转)vim(vi)常用操作及记忆方法

    vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...

  3. Myeclipse下JSP打开报空指针异常解决方法。

    Myeclipse下JSP打开报空指针异常解决方法 一.运行JSP文件就出错 静态的JSP页面访问时候正常,只要是牵涉到数据库的页面就出错,出错见下图. 出现这种情况让我调试了一天,各种断点,各种改代 ...

  4. Visual Studio 2008打开vs2010解决方案的方法

    一个朋友遇到了个问题:用visual studio 2008软件,无法打开一个asp.net网站的sln解决方案.如下图,原因是此解决方案由vs2010生成的,必须由vs2010运行程序打开. 这样一 ...

  5. INNO 补丁制作技术, 打开 INNO 补丁制作方法的第一页

    INNO 补丁制作技术, 打开 INNO 补丁制作方法的第一页 作者:xin 日期:2005-09-23 字体大小: 小 中 大   VPatch 在 INNO 中的应用. VPatch 属于专为NS ...

  6. js 自己项目中几种打开或弹出页面的方法

    自己项目中,几种打开或弹出页面的方法(部分需要特定环境下) var blnTop = false;//是否在顶层显示 ///动态生成模态窗体(通过字符串生成) ///strModalId:模态窗体ID ...

  7. windows运行打开服务命令的方法 :

    windows运行打开服务命令的方法 : 在开始->运行,输入以下命令 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup------ ...

  8. vim 在 cmdline 内粘贴的方法

    vim 在 cmdline 内粘贴的方法: 先按下 Ctrl-r ,然后选择从哪个剪贴板上粘贴 0 (yank register), 1 to 9 (shifting delete registers ...

  9. android intent打开各种文件的方法

    android intent打开各种文件的方法   1./**  * 检测是否安装了某个软件  *   * @param pkgName "com.bill99.kuaishua" ...

随机推荐

  1. new Date("2018-01-01 11:11:11").valueOf() 在IE下会返回 NaN

    原因是在ie下 new Date不能处理 小横线 这种时间格式,但是 替换成 斜线就可以正常获得毫秒数,像下面这样: new Date(('2018-01-01 11:11:11').replace( ...

  2. C# 一些请求的基类(待补充)

    using System.Runtime.Serialization; /// <summary> /// 通用分页请求类 /// </summary> [DataContra ...

  3. [微信小程序] -- wxss引用外部css文件及iconfont

    小程序引入外部文件的方式是: 只需要在其css文件写上: @import "外部css地址.wxss"; 因为项目需要, 小程序中需要使用iconfont , 很容易就想到了H5的 ...

  4. [转] 用javascript修改css伪类的几种方法

    用javascript修改css伪类的几种方法: Modify pseudo element styles with JavaScript http://pankajparashar.com/post ...

  5. mysql把之前表单进行拆分

    今天有个任务是需要把之前的历史数据做一个清理. 原历史数据 很多电话号码是放到了一起.所以需要新建一个联系方式表.然后进行增加 新建表格如下: 然后再进行查询数据. SELECT a.uid,subs ...

  6. TCP协议三次握手、四次挥手过程

    本文通过图来梳理TCP-IP协议相关知识.TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道.如图1所示,给出了TCP通信过程的示意图. 上图主要包括三部分:建立连接.传输数 ...

  7. (转)shell命令:echo命令详解

    shell命令:echo命令详解 原文:https://www.cnblogs.com/xyz0601/archive/2015/04/23/4450736.html 功能说明:显示文字. 语 法:e ...

  8. PHP中break及continue两个流程控制指令解析

    <?php $arr = array( 'a' => '0a0', 'b' => '0b0', 'c' => '0c0', 'd' => '0d0', 'e' => ...

  9. 生成ks.cfg文件

    RHEL 7下生成ks.cfg文件 环境 + RHEL 7 + 字符界面, 没有安装图形界面 软件包安装 + `yum install system-config-kickstart -y` + `y ...

  10. Java入门系列-09-循环结构

    这篇文章为你搞懂5个问题 while 循环如何使用 do-while 循环的使用 for 循环的使用 break.continue 的使用 循环结构的嵌套使用 生活中有很多事情需要我们重复的去做,比如 ...