2009-01-01あけましておめでとうございます
■ 続・vimperatorを活用してtwitterをもっと見る 
[宣伝]vimperatorグループ
vimperatorグループを作ったので、つっこんだ話はそっちに書きます。興味あったら入ってみてね。
multi_requester SITE INFO
この間書いたVimperatorを活用してTwitterをもっと見る - つきあたったー - はてなグループ::ついったー部で、multi_requester.js を使ってたんだけど、これのSITEINFOとして使っていた wedata がクリスマスあたりから使えなくなった件のフォロー記事のつもり。今の最新版のmulti_requester.jsはwedataが生きてる時にキャッシュするから復旧までのつなぎと思ってくれれば。
.vimperatorrc に以下の内容を追記してちょうだいな。ちなみに alc、goo、wikipediaは僕が良く使うのでオマケです。
/* 前回の.vimperatorrc */ map ,mt :mr<Space>twitter-search-pcod-no-jp<Space> map ,mT :mr<Space>twitter-search-pcod-no-jp<Space>["自分のユーザーid"]<CR> map ,mf :mr<Space>favotter-new<Space> map ,mF :mr<Space>favotter-new<Space>["自分のユーザーid"]<CR>
上記の部分は消して上書きしてください。
/* 今回追記するもの */
map ,m,s :so<Space>$RUNTIME/plugin/multi_requester.js
javascript <<EOF
/* DEFAULT SITES */
liberator.globalVariables.multi_requester_default_sites = "alc,goo,favotter-new,twitter-search-pcod-no-jp,search-twitter,wikipedia-jp"
/* SITE_INFO */
liberator.globalVariables.multi_requester_siteinfo = [
{
name: 'favotter-new',
description: 'favotter newest',
url: 'http://favotter.matope.com/user.php?user=%s',
xpath: '//div[@class="hentry"]',
},
{
name: 'twitter-search-pcod-no-jp',
description: 'twitter search(yats)',
url: 'http://pcod.no-ip.org/yats/search?query=%s',
xpath: '//li[@class="hentry"]',
},
{
name: 'wikipedia-jp',
description: 'wikipedia(japanese)',
url: 'http://ja.wikipedia.org/wiki/%s',
xpath: 'id("bodyContent")',
},
{
name: 'search-twitter',
description: 'twitter search(search.twitter.com)',
url: 'http://search.twitter.com/search?q=%s',
xpath: 'id("results")/ul/li',
},
];
/* KEY MAPPING */
liberator.globalVariables.multi_requester_mappings = [
[',mt', 'twitter-search-pcod-no-jp'],
[',Mt', 'twitter-search-pcod-no-jp', '!'],
[',mT', 'twitter-search-pcod-no-jp', , '["自分のユーザー名"]'],
[',MT', 'twitter-search-pcod-no-jp', '!', '["自分のユーザー名"]'],
[',mf', 'favotter-new'],
[',Mf', 'favotter-new', '!'],
[',mF', 'favotter-new', ,'["自分のユーザー名"]'],
[',MF', 'favotter-new', '!', '["自分のユーザー名"]'],
[',ma', 'alc'],
[',Ma', 'alc', '!'],
[',mg', 'goo'],
[',Mg', 'goo', '!'],
[',mw', 'wikipedia-jp'],
[',Mw', 'wikipedia-jp', '!']
];
EOF
これで前回書いたmap 〜 で始まるキーマッピングは不要な上、文字列選択した状態でショートカットキーを押すと自動でリクエストしたサービスの出力を返します。mapの整理はjsでやった方が管理もしやすいか。
前回には無いキーマップは,M(なんとか) だけど、これは :mr! コマンド (リクエストした結果をバッファじゃなくって新規タブに開く)を呼び出すのにこうmapあてた。,Mf とか ,MW は良く使う。
copy.js
汎用性の高いcopy.jsだけど、僕はなんかほとんどtwitter投稿するのに使っている悪寒。
これも.vimperatorrc に書く
" copy.js
map c :copy<Space>
map ,ct :copy<Space>titleAndTinyURL<CR>
javascript <<EOF
liberator.globalVariables.copy_templates = [
{ label: 'titleAndTinyURL', value: '"%TITLE%" %tinyURL%', custom: function() { return '"' + buffer.title + '" ' + util.httpGet('http://tinyurl.com/api-create.php?url=' + encodeURIComponent(buffer.URL)).responseText;} },
{ label: 'titleAndURL', value: '"%TITLE%" %URL%' },
{ label: 'title', value: '%TITLE%' },
{ label: 'hatena', value: '[%URL%:title=%TITLE%]' },
{ label: 'hatenacite', value: '>%URL%:title=%TITLE%>n%SEL%n<<' },
{ label: 'markdown', value: '[%SEL%](%URL% "%TITLE%")' },
{ label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' },
{ label: 'ASIN', value: 'copy ASIN code from Amazon', custom: function(){return content.document.getElementById('ASIN').value;} },
{ label: 'tinyURL', value: 'Get Tiny URL', custom: function() { return util.httpGet('http://tinyurl.com/api-create.php?url=' + encodeURIComponent(buffer.URL)).responseText; }}
];
EOF
だいたいこれである面白いページ、エントリを見つけたら ,ct -> ,t して 「これいいなぁ (Ctrl+v)"hogehoge" http://hugahu.ga/...」とpostしてる。twitterからだと from がwebになってるから気付かれにくいけど先月あたりからwebの投稿フォームからpostしてない。
qmark
これも.vimpeatorrc に
qmark t http://twitter.com/home qmark T http://www.tumblr.com/dashboard qmark m http://favotter.matope.com/
まぁ無くていいじゃんとも思うけど。これで got とキータイプしてそのタブで、gntで新規タブでtwitter.com/home にジャンプする。ふぁぼったーがなんでfじゃないのって話は↓。fastladder使わない or 優先順位ふぁぼったーの方が上って人はfに割りあてて良い。っていうか好きにしろ。自分のふぁぼられは既に,MFがあるから不要のはず。
qmarkはどちらかというと、LDRやFastladderのフィード購読ブックマークレットにキーワードを追加して(ldrとかflとか)
qmark l http://reader.livedoor.com/reader/ qmark L ldr qmark f http://fastladder.com/reader/ qmark F fl
の方が有意義かな。gnl、gnf でLDR、Fastladderを新規タブで、goL、goFでフィード購読ページへ。