« Railsで掲示板を作成 | トップページ | Amazon S3にバックアップをする »

2009年10月10日 (土)

WindowsでgvimでTwitter

香り屋 さんでdownloadできるwindowsのgvim上でTwitterを行うための手順。
仕事中も作業をしながら、ちょこっとTLが見れる。

  1. もし、cURLがない場合は、香り屋さんでcurl.exeをdownloadし、gvim.exeと同じディレクトリに置く。
  2. もし、rubyがインストールされていない場合は、ActiveScriptRuby からdownloadし、インストール
  3. TwitVim をdownloadし、downloadしたファイルをgvim上で開いた状態で、 :source %を実行することでインストール。
  4. $HOME\_gvimrcに下記を追記。
    let twitvim_login
    = "ユーザー名:パスワード"
    let twitvim_count
    = 1から200までのTL数
  5. Windowsの場合は、文字化けするため、$VIMRUNTIME\plugin\twitvim.vimを下記のように修正

1336c1336,1361
<     let s = substitute(s, '&#\(\d\+\);','\=nr2char(submatch(1))', 'g')
---
>     let s = substitute(s, "'","''", 'g')
>     ruby << EOF
> str = VIM.evaluate("s")
> def ucs2_to_utf8(c)
>   raise if c < 0
>   return sprintf("%c", c) if c <= 0x7F
>   if c <= 0x07FF
>       c1 = 0b1100_0000 | (c >> 6)
>       c2 = 0b1000_0000 | (c & 0b111111)
>       return sprintf("%c%c", c1, c2)
>   end
>   if c <= 0xFFFF
>       c1 = 0b1110_0000 | (c >> 12)
>       c2 = 0b1000_0000 | ((c >> 6) & 0b111111)
>       c3 = 0b1000_0000 | (c & 0b111111)
>       return sprintf("%c%c%c", c1, c2, c3)
>   end
>   raise
> end
> require 'nkf'
> out = str.gsub(/&#\d+;/) do |m|
>   ucs2_int = m[2 .. -2].to_i
>   NKF.nkf("-W -s",ucs2_to_utf8(ucs2_int))
> end
> VIM.command("let s='%s'" % out)
> EOF

以上

gvim上で:FriendsTwitterを実行することにより、TLが表示される。
詳細は:help twitvim.txt を実行すること。

注意
let twitvim_enable_ruby = 1にしないこと
本来はRubyをインストールしている状態でlet twitvim_enable_ruby = 1に
すれば、cURL(外部コマンド)の代わりにRubyで処理されるため、TLの表示が
高速になるのだが、:help twitvim.txtにもあるとおり、Windowsのvimでの
Rubyの実行はバグのため、ソケットまわりの処理がすべてエラーになる。
http://www.mail-archive.com/vim_dev@googlegroups.com/msg03713.html
なので、Twitterから受信したUCS-2のコードをWindows用にSJISに変換する
ためのみに、Rubyを使用している。

謝意
ucs2_to_utf8の関数は下記のサイトに掲載されていたものをそのまま使用
しました。感謝しています。
http://d.hatena.ne.jp/elm200/20080709/1215558613

|

« Railsで掲示板を作成 | トップページ | Amazon S3にバックアップをする »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/68673/46446470

この記事へのトラックバック一覧です: WindowsでgvimでTwitter:

« Railsで掲示板を作成 | トップページ | Amazon S3にバックアップをする »