vimでtwitterしたい、そんな時。
vimtwitterで投稿できるってことで試してみました。
Windows環境でね!
curl必須。
.vimrcにユーザー、パスワードと必要ならproxyを設定する。
let vimtwitter_login="username:password"
" let vimtwitter_proxy="proxy.exsample.local:8080"
使い方は以下の4つ。
1.コマンドラインからポスト
osttoTwitter
Your Twitter: 入力文字
2.カレント行をポスト
:CPosttoTwitter
3.バッファをポスト
:BPosttoTwitter
4.ヴィジュアルモードの選択範囲をポスト
選択して「T」
もちろん日本語何それおいしいの?という状況なので、iconvかましてURLエンコードしてあげます。
以下vimtwitter.vimのパッチ。
57,59c57,64
< let mesg = substitute(mesg, '%', '%25', "g")
< let mesg = substitute(mesg, '"', '%22', "g")
< let mesg = substitute(mesg, '&', '%26', "g")
---
> if has('iconv')
> let mesg = iconv(mesg, &encoding, 'utf-8')
> let mesg = substitute(mesg, '[^ a-zA-Z0-9_.-]', '\=s:Char2Hex(submatch(0))', 'g')
> elseif
> let mesg = substitute(mesg, '%', '%25', "g")
> let mesg = substitute(mesg, '"', '%22', "g")
> let mesg = substitute(mesg, '&', '%26', "g")
> endif
63a69,86
> endfunction
>
> function! s:Char2Hex(c)
> let n = char2nr(a:c)
> let r = ''
>
> while n
> let r = '0123456789ABCDEF'[n % 16] . r
> let n = n / 16
> endwhile
>
> if strlen(r) % 2 == 1
> let r = '0' . r
> endif
>
> let r = substitute(r, '..', '%\0', 'g')
>
> return r
URLエンコードはtdiary-vimを参考というかそのまま利用させていただきました><
カテゴリー: 日記