2006年 08月 13日

vim 補完リスト

補完リストがでなかったころの名残というか、なんというかなのだろうけど、微妙に直感的じゃない挙動になるなぁ。

迷うとき

  • 補完を開始して、候補が多すぎて文字を追加したいとき (そのまま入力すると、補完してしまう)
  • 補完を選んで Enter で確定させようとすると改行されてしまう。

:h popupmenu-keys

望む挙動

  • C-X C-N したら補完候補だけポップアップメニューされる (まだ補完しない)
  • それで入力したらそのまま絞り込む
  • Enter か TAB で確定

とりあえず補完キャンセルが C-E ってだけ覚えた!

C-X C-N したらとりあえずポップアップメニューだけ表示されるっていうのは completeopt に longest を入れとけばいいみたい。
>||vim|
set completeopt=menu,preview,longest
|
補完選んだあと何を押せばいいかで悩むなぁ。

マウスががたがた

これはキーボード使いまくれっていうアレなのだろうか

なんかツボったこと

おれ ここ めも かき なぐる
おまえ ここ よむ なぐる

これいいなぁ。何がいいのか謎い。が、いいなぁ。

network

なにやら誰かが漏れの del.icio.us の network を LDR でみている。

2006年 08月 12日

GreaseMonkey で MochiKit 使ってみる。すなわち外部ライブラリの読み込み。あるいははてなのグラフが綺麗じゃない

GreaseMonkey で外部ライブラリが使いたいな。みたいな。似たようなのでは CMS researcher - Greasemonkeyでprototype.jsやscript.aculo.usを使う方法 があるのですが、どうもうまくいかなかったので自力実装。

function dll(loadLibs, afterLoadedFunction) {
if (afterLoadedFunction._retry)
afterLoadedFunction._retry = 0;
else
afterLoadedFunction._retry++;
if (afterLoadedFunction._retry > 10) throw("Library is not loaded because of some reason.");
loadLibs.forEach(function (lib) {
GM_xmlhttpRequest({
method : "GET",
url : lib[0],
onload : function (req) {
try {
(function (r) { eval(r.responseText) }).call(window, req);
} catch (e) {
//  nigiri tubushi
}
},
onerror : function (req) {
alert(req.responseText);
}
});
});
var loaded = true;
loadLibs.forEach(function (lib) {
try {
loaded = loaded && typeof eval(lib[1]) != "undefined";
} catch(e) {
loaded = false;
}
});
if (loaded) {
try {
afterLoadedFunction();
} catch (e) {
unsafeWindow.console ? unsafeWindow.console.log(e)
: window.dump(e);
}
} else {
var f = arguments.callee;
setTimeout(function () { f.apply(this, [loadLibs, afterLoadedFunction])}, 500);
}
}

で、以下のように使う。

// 第一要素にロードする js への URL
// 第二要素にロード確認用のオブジェクトの名前
// を入れた配列の配列
dll([["http://example.com/mochi/Base.js", "MochiKit"]], function () {
// ロードされたら実行される
})

ポイントは eval を使うところ? eval を使うので unsafeWindow を極力使わなくてすむ。あとは DOM 系の処理でおかしいこと (ここには append できないぜ系エラー) になりにくい気がする。

ロードするスクリプトの依存関係上、何度かリクエストが発射されることがある。めんどいのでブラウザのキャッシュ機能にまかせてこっちではキャッシュしていないけど、ホントはちゃんとキャッシュしたほうがいいはず。


でもって、はてなアンケートの円グラフを PlotKit で描画しなおす GreaseMonkey スクリプトを書いてみた。hatena-q-make-graphs-with-plotkit.user.js

結果をソートするようにした。あと Global じゃなくて window 使うようにした。

id:secondlife さんからの指摘により、エラーを握りつぶす処理を追加し、最大ロード試行数を加えました。

ぼーっとソースを読むとき

なんとなくぼーっとソースを読みたいときって、コンソールのアプリケーションだとだめなんだよなぁ。マウスでドラッグアンドドロップでエディタで開いて、マウスホイールで眺める。そういうのを楽にやりたい。

Linux デスクトップとかだとこういうのがすっごいやりにくい。ファイラが使いにくい。なんか疲れる。


キーボードがもっとうまく使えたらいいんだろうなぁ。気合入れないとキーボード使えない。なんかキーボードは typo しまくるから、ストレスたまる。いつまでたってもタッチタイピングできない。P とか今だに一発でうてなくて @ を押しまくる。, も . もうまく入力できない。数字もだめだ。みないと打てない。[ とか ] も、? も / もうまくうてない。そして、そもそも左シフトを押す習慣がない。右手の動きに無駄が多すぎる。そういうのをいちいち感じるから、キーボードはストレスが溜まる。

それで結局、改善しようと思っても、いつもの無駄なうちかたをしてしまう。無駄な打ち型のほうが早いんだから仕方ない。少しずつやっていくしかない。左手があんまり動かなくなったのもかなり最近だしなぁ。CapsLock を Ctrl に変えたあたりでやっとあんまり動かなくなった。

SE-U55GX

intel チップセットと相性が悪いらしくて使えなかったんだけど、今日久しぶりにつないでみたら割と普通……と思いきや音切れする。
とりあえず前やったように、いくつか USB ハブを通して試してみると、一個まともに動くハブがあった。これでちょっと使ってみよう。(前はハブ通すと CPU Max まで使い切ってだめすぎだった)

あー付属のドライバは、インストールしちゃだめみたいだ。USB Audio 部分はそれがなくても動く。そしてインストールしてしまうと CPU 食いまくる。タスクマネージャで C270なんちゃら.exe を強制終了すると直る (音は出る)。

音量変更

http://hp.vector.co.jp/authors/VA015243/ の MasterVC っていうのを使っているのだけれど、SE-U55GX はコントロールできないみたいで寂しい。
タスクトレイに音量が表示される、のはどうでもいいんだけど、Shift+Win+UP/Down で音量上下が癖になっててめんどい。

2006年 08月 11日

Effect フック

beforeStart, afterFinish 以外って使うんだろうか。特に beforeUpdate, afterUpdate ってかなり実行されてå100 16167 100 16167 0 0 81193 0 --:--:-- --:--:-- --:--:-- 541k
¼び出すだけで重そう。

派生エフェクトを作るときには便利か。

gt gT

いままで :tabp ってわざわざうってた。ちゃんとヘルプ読もう。

effect

もちの Visual が使えないので簡単なのを実装中。めんどす

  • 半透明系はおもい
  • 移動系はめんどい

effect

New.js を自分で読み込まないとだめらしい。時間無駄にした。死にたい。そして自分で実装したやつとインタフェ違うから面倒くさい。(effect.reverse() をどうやって実現するのか考えるのがめんどい。キューとかどうやって使うんだろうっていうレベル)

opera 0verflow

Opera で stack over flow がでる。なんでだろう。

42         if (MochiKit.Base.isOpera() && (MochiKit.Base.find(['left', 'top', 'right', 'bottom'], style) > -1)) {

New.js がバグってるよ。(from id:motemen さん)
神!

gerry++

おなかいたい。マクドの喫煙席で30分ぐらいねたせいかな。
そういえば、マクドでポテトとハンバーガーだけ頼んだら「お水はいりますか?」って訊かれてあせった。やばいおなかいたい。うろたえて「いいです」といった俺は負け組です。

vim Align.vim

萌えるなぁこれ。

hjkl

hjkl に慣れない

タッチタイピング

タッチタイピングできないのをどうにかしたい。P , . / \ [ ] = ^とか絶対 typo する。