basyura's blog

あしたになったらほんきだす。

VAC 190 日目 : TweetVim 2.1 Release !! - UserStream (実験的) 付

f:id:basyura:20130607205052p:plain

Vim advent calendar 190 日目です。
昨日は @yoshikaw さんの「vcscommand.vimを少し便利に使う」でした。

毎日 Vim してますか?
僕は Vim のしすぎで仕事が手につきません。ビルド時間の合間にイジイジしすぎてやばいです。そんな時間を作ってしまうビルド時間が悪いんです。その上、先週は後半から会社を休んで会議に出席したものの、全くついていけなくて方針状態でした。しかし、それもあって会議中は vim script の作成がはかどってしまったため、ようやく待望の機能を追加することができました。後悔はしていません。

ということで TweetVim 2.1 をリリースします。一部実験的な機能を含みます。
https://github.com/basyura/TweetVim

変更内容

  • has('gui_running') じゃない時に icon 表示をしない
  • 空行セパレータ表示を追加 (g:tweetvim_empty_separator)
  • アカウントを切り替えた際に hometimeline を表示するように変更
  • bobuhiro11 さんのユーザ名を表示する pull request を取り込み (g:tweetvim_display_username)
  • protected で見れないツイートの場合はメッセージを表示するように修正
  • favorite action の際に確認メッセージを表示しないように変更
  • consumer key を設定できる rhysd さんの修正を取り込み (g:tweetvim_consumer_key, g:tweetvim_consumer_secret)

実験的機能追加

  • g:tweetvim_no_default_key_mappings を追加
  • UserStream を追加 (:TweetVimUserStream)

g:tweetvim_no_default_key_mappings

1 を設定すると、tweetvim、tweetvim_say バッファのデフォルトキーマッピングが設定されなくなります。自分でキーマップを定義する必要があります。
特に問題なければ次バージョンあたりで正式リリースにします。これで良いのかイマイチよく分からないのでフィードバックをお待ちしております。

TweetVimUserStream

UserStream を実装しました。:TweetVimUserStream で実行できます。
hometimeline などは最新が上に表示されますが、UserStream では下に表示されます。よって、新しいツイードがあるたびに下へどんどんスクロールしていきます。カーソルが一番下にないときは、カーソル位置を移動しません。

UserStream に検索したい単語を含めたい場合は

:TweetVimUserStream vim

のようにします。

:TweetVimUserStream vim emacs

のように複数の指定も可です。
日本語に絞りたい場合は

:TweetVimUserStream vim emacs lang:ja

とします。
lang:ja を指定した場合は、「aaa」は引っかからないけど「あああ」はひっかかるといった動きになるようです (当たり前か)。

ターミナルで動かすと、termtter、earthquake.gem のように見えなくもないです(カーソル移動と、豊富なキーマッピングがある分、こちらの方が有利?)。

f:id:basyura:20130607205244p:plain

user stream でタイムラインが更新されていく様子を見てるのがなかなかに面白く、ツイート、リツイート、リプライといった反応がすぐさま見えるので楽しくてついつい時間を取られてしまう・・・。
あと、 vim のインスタンスが一つまるごと取られちゃうのも難点なので、作業の合間に home timeline や mention をさらっと一時的に見るぐらいがちょうどいいんじゃないかと思う今日このごろ。
J6uil.vim っていう lingr クライアントも立ち上げてたりするので、アイコン出ないけどターミナルでタブごとに表示するのが無難か。

制限事項

  • mac、cygwin で動作確認済み。linux は動くと思うけど、windows では動かなかった・・・
  • curl のゾンビが残る
  • stream に流れてくる fav、delete などのアクションをガン無視している

vimproc を使ってあれこれやってたらなんか動いたって状態なので、使い方があっているのかが謎・・・。使い方が悪いのでプロセスが残っちゃうんだと思うのだけど。どうしたらいいのかが分からない。

次へむけて

  • ゾンビ討伐
  • filter 機能をつければいろいろと夢が広がりそう
  • コネクションの再接続

次の vac

明日は 191 日目は @manga_osyo さんです。

ではでは。vi。