2007年 09月 23日

おれきづいたことがあるんだ。昨日夢で見た女の子のことが好きなんだ。

夢とグレープフルーツとMARCH

夢とグレープフルーツは情報で溢れている。
一昨日の深夜、コンビニにってグレープフルーツジュースを買い、帰り道にそれを飲んでいると、いろんなことが頭の中に流れ込んできた。あの夢はたぶんそのグレープフルーツジュースに含まれていた情報なんだろう。

ブックマークレットとかで、設定を先頭に書けるようにする

設定を分離するために

javascript:(function (url) {
   // hoge
})("http://example.com");

みたいにしたりするけど、最後に書くのがちょっとだるい。ので、次のようなのを考えてみた。

javascript:"http://example.com".replace(/.+/, function (url) {
  // hoge
});void("fumino");

ちょっと長くなるのでぎりぎりの場合はつかえないけど、設定が前にでてくるので書きかえやすい。スクリプト要素追加系だと、中身は共通なのでこっちのほうが新しくブックマークレットつくりやすい (ささいな手間といえばそうだけれど)

これを使うとスクリプト追加系は以下のように

javascript:"url".replace(/.+/,function(url,s){s=document.createElement("script");s.charset="utf-8";s.src=url;document.body.appendChild(s)});void("san");

javascript:"url".replace(/.+/, function(url, s) {
    s = document.createElement("script");
    s.charset = "utf-8";
    s.src = url;
    document.body.appendChild(s)
});void("moe");

わりとどうでもいいけど

var s=...

と書くかわりに、仮引数を使うことでなんか気持悪いスペースを消してみてる。

複数の引数をとりたいときも同じように書ける。ただしデータの変換は関数内部でやることになるし、パースも自分で正規表現を書くことになる。でもたいしたこと書かないから問題ないとおもう。

"2222 81".replace(/(\d+) (\d+)/, function(_, a, b) { alert(Number(a)+Number(b)) });void("二次元にいきたい");

唐突に夢の内容を思い出した。今日の朝の夢だと思うけれど、桜並木 (ただし夏で、葉が青い) で、jkondo 氏と会話する。たぶんすれ違いざまに一言二言だったと思う。内容は覚えていないし、なんですれ違いざまに会話するのかもよくわからない。ただ、やっぱり、自転車にのってた。
いやでも本当にこれは夢の内容なのだろうか。今「夢で見たことがある」っていう記憶が生まれただけではないのだろうか。でもなんで

zsh の bindkey -v (vi バインド) でモード表示するようにした


どっちだかわからなくて不安になるので (どうせ C-[ 連打するとはいえ) 検索したらすぐヒットした。http://www.zsh.org/mla/users/2002/msg00105.html

http://lab.lowreal.net/trac/changeset/871

でもこれだと毎回プロンプトだすときに INSERT とかでてうざったいので、preexec で前回表示したモード表示を消すようにしてみた。(数値きめうちなので、複数行入力するとおかしくなる。PREBUFFER とかつかえばいいのかな)

http://lab.lowreal.net/trac/changeset/872

でも preexec なので C-c とかやってプロンプトリセットしたりすると残ってしまう。

ほんとはプロンプトの下にだしたいのだけど、位置指定してほげほげしてると、INSERT -> NORMAL -> INSERT とかやったときひどいことになるので諦めた……screen の hardstatus に出すのがいいのかもしれないけど、なんかそれも違う気がしたので妥協

あと関係ないけど、C-p C-n がなぜかそのまま入力されてうざいので、それだけはバインドした。
http://lab.lowreal.net/trac/changeset/870 (bindkey -e; bindkey L ででてきた結果を適当につっこんだので ^O もバインドしてある。つかわない)

ML おってたらもっと簡単なのがあったのでそっちにへんこう
http://lab.lowreal.net/trac/changeset/873

zsh の補完

なんか exec zsh を毎回やらないとエラーでるようになった。

書く順番書けたらなおった。cmp 系はあとのほうに書かないといけないっぽいのかな