vimtwitter.vimでラクラク書き込み
vimから twitterに書き込みvimスクリプト、ありますねー。
いいっすねー。
ダウンロード
http://www.vim.org/scripts/script.php?script_id=2124
最新のスクリプトを取得しました。
script version : 5.0
date : 2008-03-28
Vim version : 7.0
基本設定
runtimepathの通ったディレクトリに vimtwitter.vimを配置。
.vimrcに、let vimtwitter_login="USER:PASS"の形式で
ユーザ名、パスワードを記述。
(直書きっていうのがアレだけど、目をつぶって、と)
自分の twitterアカウントは kei_os なので
let vimtwitter_login="kei_os:PASS"
これで動かす
vimを起動して、テキストを書いたあとに
twitterに送りたいテキストをビジュアルモードで選択しておいて
T を押すと、twitterに書き込める、はず、
なのだけど、書き込めなかった><
書き込んだよ!って感じのメッセージが出るものの
twitterにアップデートされないので、調査。
vimtwitter.vimの、function! s:post_twitter(mesg)関数をみると
system() で curlを呼び出して書き込んでいるのだけど
(なるほど、なんかパターンが見えてきたぞ、と)
system() の戻り値を確認してみることにした。
" call system("curl ".s:proxy." ".s:login.' -d status="'.mesg.'" '.s:twupdate) let l:ret = system("curl ".s:proxy." ".s:login.' -d status="'.mesg.'" '.s:twupdate) echo "Your tweet was sent. You used" strlen(mesg) "characters." echo "--------\n" echo l:ret
そしたら、やっぱ、zshが no matches found ってことで
書き込めてないよ、って言ってた。
Your tweet was sent. You used 33 characters.
-
-
-
-
-
-
- -
-
-
-
-
-
というわけで、もいっちょ設定
curlに渡しているURLに含まれる ? がくせもの、という指摘。
薫のhack - ブログ検索 - twitter
たしかに、自分の現象と一致します。
とゆーわけで、もともとの
let s:twupdate = "http://twitter.com/statuses/update.xml?source=vim"
ってあったのを
let s:twupdate = "'http://twitter.com/statuses/update.xml?source=vim'"
に変更し、再度、twitter書き込みテスト。
うまくいきました〜。
しかしこんなに簡単に書き込めてしまうのも
ちょっと怖いなぁ、ということで
あとで vmapの設定を変えよう、っと。