intime o'

考えてみれば、アイスクリームなど好きでさえないのに (アダム・ファウワー著・矢口誠訳「数学的にありえない」・下より)
TwitterクライアントCocoa 2012/02/16(Thu.)
 ほとんど見た目も操作も設定も拡張スクリプトもVimなTwitterクライアントを
作ってみた。まだまだ未完成。Cocoaと名づけた。


UserStreamAPIを基本的に使う仕様。

ファイル構造。
Cocoa.exe   ... 本体
vimrc.cocoa ... 設定ファイル。(.vimrcみたいな)
/cache   ... 中に画像キャッシュ一杯貯めこむフォルダ

表示について。
左側にタイムライン(テキストファイル)を、右側に画像などを表示。
アイコンの画像については、テキストファイルとして開いてみると
<img src="...">というおもいっきりhtmlタグとして書いてある。
Cocoaではこれをアイコン画像として32*32pxで表示する。サイズとか
そういうのは設定コマンドを用意してる。気分でその場だけ大きくしたい
とかあるからね。
ああ、あとコレ一番面倒だった。
in reply to があった場合には、"@user"という文字列だけ別の行に
抜き出して、そいつのツイートを折りたたみで表示した。
zc,zo,<CR>で開閉できる。

基本的な操作方法
Vimと大体同じ、を目指してる。試してみて。
一応カーソルの移動、文字列の撰択にマウスは使えるけど…
使わないよね。hjklwb()で移動できて、{}は特にツイート単位で
移動するのに便利。

コマンドなど。
:h[elp] [cmd]
    ヘルプ。
:post 本文
    半角スペースで開けて本文をpostに引数として渡す。
    ご察しの通り投稿する為のコマンド。
    デフォルトでは<CR>で投稿。
    改行は<S-CR>でする。
    後述の:set enter で投稿の為のキーは変更できて、
    <S-CR>に変更した場合は<CR>が単に改行として扱われる。
!p
    :post 
    が自動で入力される。postの後ろには半角スペースが入ってる。
    それでもpostする度に!pを頭につけるのが面倒ならもう
    デフォルトの投稿が&lr;CR>の状態ならば
    :map <CR> <CR>!p
    とでもしたらいいんじゃないですか?
    常にツイート入力待受状態ですよ

!r
    カーソルが今乗ってるツイート(フォーカスしてるターゲットとする)
    に対してのリツイート
!R
    ターゲットをRT・解除(トグル)
!Q
    ターゲットをQT(非公式RT)
!@
    ターゲットのツイートを丸パクる!
!f
    ターゲットをお気に入り・解除(トグル)

リンクの上で<CR>
    画像(拡張子で判断)なら画像を右ウィンドウに表示。
    その他ならブラウザに渡す。
    twitpicとかそういうのにも対応しよう、と思った。

右ウィンドウ(画像表示用)にカーソルを移動して
:w[rite]
    画像を保存する。
    :set imgdir
    で保存先ディレクトリを指定しておくこと。
    :w test.jpg
    とすればそのディレクトリにtest.jpgとして保存。
    単に
    :w
    とすれば元の名前で保存。
    :w ~/My Picture/test/
    とディレクトリを指定してもよい。

:Home
    Homeのタイムラインを表示
:List
    自分が作った・自分が入れられたリストの一覧を表示
    カーソル移動で撰択して<CR>でリストのタイムラインを表示
    :List {user} {listname}
    とするとuserが作ったlistnameというリストのタイムラインを
    一発で表示する。{}という波カッコはいらないからね?
:Rep[lies]
    自分へのリプライ
:Fav[orites]
    自分がファボったの一覧

:follow {user}
    userをフォローする。
    :follow cnoremap
    こんな風に。
:unfollow {user}
:block {user}
    アンフォロー、ブロック。

:sougo {user1} {user2}
    user1とuser2が相互フォローかどうかを調べる。

setオプション
Vimでもあるオプションとして
guifont, transparency, lines, columns

enter
    :set enter=<S-CR>
    :postの決定キーを設定する。(投稿内容に改行を含めたいから)
imgdir
    :set imgdir=~/My Picture/
    画像保存先のデフォルトを設定する。

iconsize
    :set iconsize=32px
    iconをどけるようにして本文は表示されます。

コメ(0) | トラ(0)