ホーム > 日記 > vimでtwitterしたい、そんな時。

vimでtwitterしたい、そんな時。

vimtwitterで投稿できるってことで試してみました。
Windows環境でね!
curl必須。
.vimrcにユーザー、パスワードと必要ならproxyを設定する。


let vimtwitter_login="username:password"
" let vimtwitter_proxy="proxy.exsample.local:8080"

使い方は以下の4つ。
1.コマンドラインからポスト


:PosttoTwitter


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を参考というかそのまま利用させていただきました><

カテゴリー: 日記 タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。