ついカッとなってやった。今も後悔してない。
昨日作った
GoogleReader.vimがだんだん安定して来て少し飽きたので
FastLadder版を作ってみました。
FastLadder.vim - vimscript for fastladder : vim online
This is vimscript for fastladder (http://fastladder.com/)
FastLadder.vim - vimscript for fastladder : vim online
開発はこの辺でやってます。
mattn's fastladder-vim at master - GitHub
This is vimscript for fastladder
http://github.com/mattn/fastladder-vim/tree/master
起動は
:FastLadder
で <c-n> と <c-p> で上下移動、リターンキーで閲覧、qで終了です。一応 <c-i> でブラウザ起動ですがキーは変えるかもしれません。
vimrcとかに g:fastladder_user と g:fastladder_passwd を設定してあれば curl だけで動作します。
画面はこんな感じ。
詳しくは"?"をタイプしてヘルプを見て下さい。
ちなみにg:fastladder_serverを"http://localhost"に設定してローカルでお楽しみ頂く事も出来ますが、
LivedoorReaderには対応していません。
mattn the vimmer!
ついカッとなってやった。今も後悔してない。
Peepの改造としてはじめた
cpeepですが、今cpeepが実装している機能くらいならばvimで出来るやん...と思って勢いで書いてみました。
GoogleReader.vim - vimscript for googlereader : vim online
This is vimscript for googlereader (www.google.com/reader/)
http://www.vim.org/scripts/script.php?script_id=2678
開発はこの辺でやってます。
mattn's googlereader-vim at master - GitHub
This is vimscript for googlereader
http://github.com/mattn/googlereader-vim/tree/master
起動は
:GoogleReader
で <c-n> と <c-p> で上下移動、リターンキーで閲覧、qで終了です。一応 <c-i> でブラウザ起動ですがキーは変えるかもしれません。
vimrcとかに g:googlereader_email と g:googlereader_passwd を設定してあれば curl だけで動作します。
画面はこんな感じ。
作りかけなので、まだまだです。
えっ?cpeep?何でしたっけそれ...
正直言うと、これがキッカケだったりする。
はてなブックマーク - pekepekesamuraiのブックマーク
だれかEmacsのpeep-mode作ってくれないだろうか。と期待している
http://b.hatena.ne.jp/pekepekesamurai/20090615#bookmark-13902255
mattn the vimmer!
vimはファイルを開く際、iconvを使用してfileencodingsの順に変換を試し、正しく変換出来た物をfileencodingとして使用する仕組みになっています。
つまり化けたファイルだと、どのfileencodingsにもマッチせずencodingで指定されたエンコーディングでファイルが開かれステータス行に「変換失敗」と表示される事になります。
しかしながらそのファイルのエンコーディングが分かっている場合もあります。vimでは++enc
オプションを指定する事で指定のfileencodingでファイルを開く事が出来ます。
:e ++enc=utf-8 foo.txt
この場合、vimはiconvで変換出来なかった文字を?
という文字で置き換えてしまいます。
# echo あいうえお | iconv -f char -t utf-8 > utf8.txt
# echo あいうえお | iconv -f char -t cp932 > sjis.txt
# cat utf8.txt sjis.txt > bad.txt
# vim
cp932の場合は文字集合の区画が広い為、vimではutf-8が構成するバイト列をcp932の範囲内として開いてしまいます。
:e ++enc=cp932 bad.txt
縺ゅ>縺?縺医♀
あいうえお
またutf-8の場合はcp932の区画は範囲外になります。つまり
:e ++enc=utf-8 bad.txt
あいうえお
??????????
この様に?
に変換されてしまう事になります。ステータス行には何行目で変換が失敗したかを警告するメッセージも表示されますが、元のテキストは失われます。
こういったファイルを開くのにフィルタを使用する人もいるかもしれません。
:%!nkf -Ws
これでも良いのですが、nkfが変換出来ない文字は削られてしまいます。
実はvimの:eコマンドには++bad
オプションという物があり、この?
の挙動を変更出来る様になっています。
*++bad*
The argument of "++bad=" specifies what happens with characters that can't be
converted and illegal bytes. It can be one of three things:
++bad=X A single-byte character that replaces each bad character.
++bad=keep Keep bad characters without conversion. Note that this may
result in illegal bytes in your text!
++bad=drop Remove the bad characters.
The default is like "++bad=?": Replace each bad character with a question
mark.
例えば++badオプションに%
を指定すると
:e ++enc=utf-8 bad.txt
あいうえお
%%%%%%%%%%
となるのです。現在の所1文字の場合はその文字で置き換える様になっています。また++badオプションにkeep
を指定すると、何も変換せずに開いてくれます。
:e ++enc=utf-8 ++bad=keep bad.txt
あいうえお
<82><a0><82><a2><82><a4><82><a8><82><a6>
さらにdrop
を指定する事で不正な文字を削除してファイルを開く事も出来ます。
あいうえお
vimでファイルが開けなくなってしまった方、一度++badオプションを試してみては如何でしょうか?