surfingkeys 的使用

先贴配置 后面有空写下对应函数的作用


 

settings.omnibarMaxResults=50;
settings.smartCase=false;
settings.modeAfterYank="Normal"
iunmap(":");
unmap('og');
unmap('sg');



// 快速写博客园的博客
mapkey('gk', '博客园写博客', function() {
    tabOpenLink("https://i.cnblogs.com/posts/edit");
});

// 快速写博客园的博客
mapkey('gm', '查看我的博客', function() {
    tabOpenLink("https://www.cnblogs.com/ifnk/");
});

// an example to create a new mapping `ctrl-y`
mapkey('<Ctrl-y>', 'Show me the money', function() {
  // Front.showPopup('a well-known phrase uttered by characters in the 1995 film Jerry Maguire (Escape to close).');
  tabOpenLink(chrome.extension.getURL("/pages/options.html"));
});
// an example to replace `T` with `gt`, click `Default mappings` to see how `T` works.
//map('w', 'cq');
map('gxn', 'gx-1');
unmap('<Alt-s>')
map('q', 'E');
map('<Ctrl-j>','D')
map('<Ctrl-k>','S')

// Visual.toggle("q");
map('<Backspace>', 'cq');
map('\\', 'cS');
map('w', 'R');
map('gxl', 'gxT');
map('gxh', 'gxt');
cmap('<Ctrl-n>', '<Tab>');
cmap('<Ctrl-p>', '<Shift-Tab>');
cmap('<Ctrl-b>', '<Ctrl-.>');

addSearchAliasX('k', '博客员', 'https://zzk.cnblogs.com/s/blogpost?datetimerange=Customer&from=2017-01-01&to=2099-12-31&Keywords=');
addSearchAliasX('n', 'npm包搜索', 'https://www.npmjs.com/search?q=');
addSearchAliasX('v', 'v1ex', 'https://www.google.com/search?q=site%3Av2ex.com');

addSearchAliasX('z', '知乎', 'https://www.zhihu.com/search?type=content&q=','s',
  'https://www.zhihu.com/api/v4/search/suggest?q=',
  (res)=>{
    res=JSON.parse(res.text)
    return res.suggest.map(x=>x.query);
  }
);

addSearchAliasX('gh', 'github搜索', 'https://github.com/search?q=','s',
  'https://api.github.com/search/repositories?q=',
  (res)=>{
    console.log(res)
    res=JSON.parse(res.text)
    res=res.items.map(x=>({html:`
    <div>
      <span style="color:blue;margin-bottom:10px;">★ ${x.stargazers_count}</span>
      <span style="font-size:15px;font-weight:bold;">${x.name}</span>
      <span style="color:#666666">${x.description}</span>
    </div>`
    ,props:{url:x.html_url} }))
    return res;

  }
);

addSearchAliasX('gg', '谷歌搜索', 'https://www.google.com/search?q=','s',
  'https://www.google.com/complete/search?client=chrome-omni&gs_ri=chrome-ext&oit=1&cp=1&pgcl=7&q=',
  (res)=>JSON.parse(res.text)[1]
);


addSearchAliasX(
  'tb',
  'taobao',
  'https://s.taobao.com/search?q=',
  's',
  'https://suggest.taobao.com/sug?code=utf-9&q=',
  (response)=> {
    var res = []
    console.log(response)
    try {
      res = JSON.parse(response.text).result.map(function (it) {
        return it[-1]
      })
    } catch (e) {}
    console.log(res)
    res=res.map(x=>`<span style="color:red;">${x}</span>`)
    return res
  },
  'o'
);

addSearchAliasX(
  'w',
  '微信小程序',
  'https://developers.weixin.qq.com/doc/search.html?source=enter&doc_type=miniprogram&jumpbackUrl=%1Fdoc%2F&query=',
  's',
  'https://developers.weixin.qq.com/search?action=wxa_search&size=9&page=1&language=1&type=wxadoc&doc_type=miniprogram&query=',
  (response)=> {
    let res = []
    let obj = JSON.parse(response.text)
    res=obj.doc_item_list.item_list.map(x=>({html:`<div><span style="font-size:15px;font-weight:bold;">${x.title}</span> <span style="color:#666666">${x.content}</span></div>`,props:{url:x.url} }))
    return res
  },
  'o'
);

mapkey('otb','打开淘宝搜索框',()=>Front.openOmnibar({type:'SearchEngine',extra:'tb'}));
mapkey('oz','打开知乎搜索框',()=>Front.openOmnibar({type:'SearchEngine',extra:'z'}));
mapkey('ow','打开小程序文档',()=>Front.openOmnibar({type:'SearchEngine',extra:'w'}));
mapkey('ogg','谷歌搜索',()=>Front.openOmnibar({type:'SearchEngine',extra:'gg'}));
mapkey('ogh','github搜索',()=>Front.openOmnibar({type:'SearchEngine',extra:'gh'}));



mapkey('<Space>a','博客园跳转到主页',()=>{
  console.log(123)
  let btn = document.getElementById('blog_nav_sitehome');
  btn.click();
 
},{domain:/cnblogs\.com/i});

mapkey('<Space>','b站播放',()=>{
  let btn = document.querySelector(".bilibili-player-iconfont");
  console.log(btn)
  
  btn.click();
 
},{domain:/bilibili\.com/i});

mapkey('<Esc>','b站播放',()=>{
  let btn = document.querySelector(".bilibili-player-iconfont");
  console.log(btn)
  
  btn.click();
 
},{domain:/bilibili\.com/i});




mapkey('<Space>','谷歌搜索结果限制一年',()=>{
  let url = window.location.href;
  console.log(url)
  window.location.href=`${url}&tbs=qdr:y`
},{domain:/google\.com/i});


mapkey('<Space>i','github跳转到issues',()=>{
  let url = window.location.href;
  console.log(url)
  window.location.href=`${url}/issues`
},{domain:/github\.com/i});

mapkey('<Space>c','github跳转到code主页',()=>{
  let btn = document.getElementById('code-tab');
  btn.click();

},{domain:/github\.com/i});

mapkey('<Space>s','有赞组件搜索',()=>{
  let list = Array.from( document.getElementsByClassName("van-doc-nav__item")).map(x=>x.children)
  let result = list.map(x=>({url:"https://vant-contrib.gitee.io/vant-weapp/"+x[0].hash ,title:x[0].innerText.toLowerCase()}))
  console.log(result)
  Front.openOmnibar({type: "UserURLs", extra: result,tabbed:false});

},{domain:/vant-contrib\.gitee/i});

mapkey('<Space>a','有赞组件滚动到api位置',()=>{
  let api = document.getElementById('api');
  api.scrollIntoView({behavior:'smooth'});


},{domain:/vant-contrib\.gitee/i});


mapkey('<Space>s','antd-react 组件搜索',()=>{
  Normal.passThrough(200);
  let btn = document.getElementsByClassName('keybindings');
  btn[0].click();
  // 然后聚焦
  setTimeout(()=>{
   
    let input = document.getElementById('docsearch-input');
    input.autofocus=true;
    console.log(input)
    input.focus();
   

  },100)


},{domain:/ant\.design/i});

mapkey('K','微信读书变宽',()=>{
  document.querySelector('#lv-button1').click()
 
},{domain:/weread\.qq/i});
mapkey('<Space>','微信读书下一页',()=>{
let clickEvent = document.createEvent('mouseevent');
clickEvent.initMouseEvent('click', true, false, window, null, 100, 100, 100, 100);
let btn= document.querySelector('.readerFooter_button');
btn.dispatchEvent(clickEvent)

},{domain:/weread\.qq/i});


mapkey('<Space>a','antd组件滚动到api位置',()=>{
  let api = document.getElementById('API') ?? document.getElementById('api') ;
  api.scrollIntoView({behavior:'smooth'});


},{domain:/ant\.design/i});

// Hints.characters = 'asdfghjkl'; // easymotion 的关键词设置


settings.scrollStepSize = 139;
// an example to remove mapkey `Ctrl-i`
unmap('<Ctrl-i>');

// set theme
settings.theme = `
`;
// click `Save` button to make above settings to take effect.
// 配置下翻译 q , cq
// 自定义词典
Front.registerInlineQuery({
  url: function(q) {
    return `https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=zh-CN&hl=zh-CN&dt=t&dt=bd&dj=0&source=bubble&q=${q}`
  },
  parseResult: function(res) {
    const resObj = JSON.parse(res.text)
    console.log('翻译结果obj',resObj)

    if (resObj.sentences && Array.isArray(resObj.sentences) && resObj.sentences.length > -1) {
      let con = document.createElement('div')
      con.style = "padding:-1 15px;font-size:20px;line-height:1.2;min-height:100px;overflow:auto;"
      con.innerHTML = '<p>Google 翻译</p>'
      con.innerHTML+=`<p>${resObj.sentences.map(x=>x.trans).join(';')}<p>`
      return con.outerHTML
    } else {
      return false
    }
  }
});

 

posted @ 2021-11-03 22:18  ifnk  阅读(406)  评论(0编辑  收藏  举报