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はこういった改良を簡単にできるので 便利だし勉強にもなる

  1. someと=の間にspaceを空けない


blog comments powered by Disqus
ruby_pack8

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