websearch.vimpr でサービス別コンテンツを即検索

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    vimperator の検索コマンド追加する便利なプラグインを作られていたので紹介

    プラグイン概要

    コンテンツの検索があるサービスの検索結果ページに一発で飛べるコマンドの追加

    元祖様

    vimperator pluginのwebsearch.jsを拡張(キーワードが無いときの挙動を追加) - sugilogのブログ
    http://sugilog.hatenablog.com/entry/20110417/1302991616

    default でいろいろ quickmark とか追加されてしまうのでその辺を省いた fork リポジトリを使っている
    https://github.com/elzzup/websearch.vimpr

    vimperator と Firefox のカスタム検索エンジン

     「カスタム検索エンジンあるやん」と思った人もいるかもしれないがその通りで、Firefox カスタム検索エンジンを登録すると vimperator でもopen コマンドとかと合わせて使えるようになる、便利
     しかも親切なことにカスタム検索エンジンが登録されているサイトを開いている状態では検索バーにしっかり推薦されるようになっている
    Screen Shot 2015-12-25 at 03.08.50.png

    カスタム検索エンジンが公式で存在するサービスではもちろんこちらを使ったほうがいいと思う
    メジャーなサイトではほとんどあるので、今回紹介するプラグインはそれ以外の場合での使用しよう

    自分の設定

    liiberator.globalVariables.webSearchTemplates に追加で自分のよく使うサービスを登録する

    .vimperatorrc
    source ~/.vimperator/rc/js/websearch.rc.js
    
    nnoremap sty :wsyahootweet<Space>
    nnoremap sc :wsgooglescholar<Space>
    nnoremap sn :wsnico<Space>
    nnoremap stl :wstwilog<Space>
    
    
    websearch.rc.js
    liberator.globalVariables.webSearchTemplates = [
        {
            names: ['wsgooglescholar'],
            description: 'search google scholar',
            url: 'https://scholar.google.co.jp/scholar?q=%KEYWORD%'
        }, {
            names: ['wstwilog'],
            description: 'search twilog',
            url: 'http://twilog.org/Arzzup/search?word=%KEYWORD%&ao=a'
        }, {
            names: ['wsnico'],
            description: 'search niconico video',
            url: 'http://www.nicovideo.jp/search/%KEYWORD%?track=nicouni_search_keyword'
        }, {
            names: ['wsyahootweet'],
            description: 'search yahoo リアルタイム検索',
            url: 'http://realtime.search.yahoo.co.jp/search?p=%KEYWORD%&ei=UTF-8'
        }];
    
    

    あとは好みだが nmap にマッピングすると楽に検索できる
    自分は nmap の s~~ にカスタム検索含め検索マッピングを使っている

    .vimperator
    nnoremap sg :tabopen<Space>github<Space>
    nnoremap sy :tabopen<Space>youtube<Space>
    nnoremap sw :tabopen<Space>wikipedia<Space>