25 January 2010
Termtterでuriを開こう! - uri-openの紹介と改良
Termtterにはstatus内のuriを開くための uri-openという便利なpluginがある
> uri-open list または uo list
とすればstatusのuriが連番付きでリスト表示されるので 次いで
> uri-open 3
などとして対象のuriを選べばいい このときexpand-tinyurlというpluginを使って リスト表示されるuriを短縮形から直しておくのがいい
Termtterには入力のタブ補完機能があるので 長いcommand入力も苦にはならないけど 良く使うcommandにはaliasを割り当てるのが便利だ .termtter/configファイルで以下のようにする
config.plugins.alias.aliases = {
:o => 'uri-open',
:ul => 'uri-open list',
}
また各statusには$amのようなIDが付いているので
> o in $am
とすればstatusを指定してopenできる 最も新しいstatusを開く場合は単に
> o
とすればいい
個別のuriを開くのが面倒ならば 不要なuriを
> o delete 5
などとしてから
> o all
とすればすべて一度にopenすることもできる
uri-open allは確かに便利だけれど listに大量のuriが入っている場合大変なことになる そこで僕はuri-openを少しいじって いくつかのuriをopenするsomeコマンドを追加してみた
uri-open.rb
7d6
< config.plugins.uri_open.set_default :some, 5
46,51d44
< when /^some\s*(\d*)$/
< some = $1.empty? ? config.plugins.uri_open.some : $1.to_i
< some.times do
< return unless uri = public_storage[:uris].shift
< open_uri(uri)
< end
83c75
< %w(all list delete clear in some).grep(/^#{Regexp.quote arg}/).map {|a| "#{cmd} #{a}" }
---
> %w(all list delete clear in).grep(/^#{Regexp.quote arg}/).map {|a| "#{cmd} #{a}" }
これにより
> o some
で最新の5つのuriがopenする
> o some 10
とすれば10のuriがopenする
.termtter/configに
config.plugins.uri_open.some = 3
とすればdefaultの5つを変更できる またconfigに
config.plugins.alias.aliases = {
:some= => 'eval config.plugins.uri_open.some='
}
とaliasを追加すれば
> some= 10
で一時的にdefaultを変更できる1
それからuri-open in $am で個別にopenするときに $を省略して
> o in am
と打てるようにもしてみた
uri-open.rb
68d60
< id = Termtter::Client.typable_id_to_data(id) unless id =~ /\d+/
Termtterはこういった改良を簡単にできるので 便利だし勉強にもなる
- someと=の間にspaceを空けない ↩
blog comments powered by Disqus