TermtterならGoogle検索だってできる

Termtterはpluginによる拡張ができる パッケージには最初からたくさんのpluginが含まれているので 自分の好みに合わせて機能拡張ができるだけでなく 自分でpluginを書くときの参考としても利用できる

Termtter本体のコードは僕には難易度が高いけれども pluginならなんとかいけそうだ

pluginとして登録できる機能には コマンドラインから実行させるCommand Termtterの動作をフックするHook 出力をフィルタするFilter 簡単なCommandを登録するMacro Commandエイリアスを登録するaliasなどがある

pluginはRubyによるDSLのようになっていて Termtter::Clientモジュールのregister_commandメソッドや register_hookメソッドにHashの値を渡すようにして記述できる

Termtter::Client.register_command(
  :name => :fib,
  :exec => lambda {|arg|
    n = arg.to_i
    text = "fib(#{n}) = #{fib n}"
    Termtter::API.twitter.update(text)
    puts "=> " << text
  }
)

http://termtter.org/plugins

Google検索plugin

Termtterは検索の使い勝手がいいので ここでGoogleも検索できたらきっと面白い 少し調べるとgoogle-searchというRubyのライブラリがあったので これを使って作ってみた 使ってくれる人がいたらうれしい なおuri-open pluginが必要になる

image

使い方はgsearchコマンドに続けてクエリーを打つ

> gsearch termtter または gs termtter

8件の結果が番号付きでリストされるので

> 3

のように番号を指定して開く

次の8件の検索結果を見たいときは

> gnext または gn

とする

.termtter/configで設定を少し変更できる

config.plugins.gsearch.colors = ['red','on_green','underline']  # defaultは ['green']
 config.plugins.gsearch.verbose = false                  # defaultは true
 config.plugins.gsearch.lang = :en                       # defaultは :ja
 config.plugins.gsearch.size = :small                    # defaultは :large

colorsで検索結果の色を変更できる verbose=falseでtitleとuriだけの表示になる langで対象言語を指定できる size=:smallで表示数が4件になる(:largeは8)

また.termtter/configで

config.plugins.gsearch.site = 'd.hatena.ne.jp/keyesberry'

のように特定のサイトを指定した場合 -s(または-site) optionが働いて

> gs -s ruby または gs -site ruby

で指定サイト内の検索ができる 自分の過去の投稿を検索するとき重宝する

いくつか問題点があります -日本語検索ができない -uriを1つ開くと一覧の番号と開く番号がずれる -シングルクオートなどが文字化けする -uri_openのuriバッファを汚す

(追記:2010/2/8) コードのupdateと対応する説明を追加しました (追記:2010/2/8) サイト指定検索のコードと説明を追加しました

gist: 297408 - Termtter plugins- GitHub



blog comments powered by Disqus
ruby_pack8

100円〜で好評発売中!
M'ELBORNE BOOKS