2008-01-01から1年間の記事一覧

アクティブなバッファから絶対パスを得る

「M-: (eval-expression)」で (expand-filename (buffer-name)) を実行すれば OK。 これを書いてて思いだした。 CodeRepos でコミットするときは、コメントに 「lang/javascript/userscripts/hogehoge.user.js」 のようなパスを添えるのがマナーみたいなんだ…

手元のソースコードをハードタブからソフトタブに変換するには

「tabify」と「untabify」を使う。 もっと具体的に言えば「C-x h (M-x mark-whole-buffer)」でソースコード全体を選択してから 「ソフト → ハード」なら「M-x tabify」を実行する。 「ハード → ソフト」なら「M-x untabify」を実行する。 「C-M-% (M-x query…

Twitter のアーカイブを取得するツールをリファクタしてみた

Twitterのアーカイブを取得するツール作りました。No Use API版 - Seasons.NETのスクリプトを OptionParser や scrapi の勉強がてらにリファクタしてみた。 リファクタといっても僕なりに読みやすいように書き換えただけなので そんなの全然リファクタリング…

eshell で標準出力に出力されるタイミングが遅い問題について

Ruby の場合なら以下のように puts などを再定義しておくことで とりあえずは解決されるように思える。 alias :_puts :puts def puts(*args) _puts *args $stdout.flush end 追記 バッファリングの問題のようだから、再定義しなくても「$stdout.sync = true…

はてなブックマークのラジオボタンを押したら検索

Greasemonkey - Google のラジオボタン押したら検索 - AUSGANG SOFTにインスパイアされて書いた。 はてなブックマークで検索するときに 検索ボタンを押さなくても、ラジオボタンを押しただけで自動的に検索がはじまるようにする。 インストールする場合はこ…

RSpec の spec.opts って毎回用意しなきゃいけないのかな?

spec.opts はいつも以下のような内容のを使っているので これをデフォルトの設定にしちゃいたい。 -c --drb -fs毎回 spec/spec.opts をコピーして作るのはちょっとめんどくさい。

eshell で ansi-color に対応にする方法

僕は以下のような設定を .emacs に追加しているのだけど (setq eshell-output-filter-functions (list 'eshell-handle-ansi-color 'eshell-handle-control-codes 'eshell-watch-for-password-prompt)) (add-hook 'eshell-mode-hook 'ansi-color-for-comint-m…

for の後ろに if をつける書き方

こんな書き方ができるのを知った for (var i = 0; i < 10; i++) if (i % 2 == 0) { print(i); } これは以下と同じ for (var i = 0; i < 10; i++) { if (i % 2 == 0) print(i); } 例をもう1つ。 これは for (var k in attr) if (attr.hasOwnProperty(k)) { …

Coderepos のコミッタになりました

http://coderepos.org/share SVN の使い方が今一よく分かってないので変な失敗とかするかもしれない。こわい。 でも何でもそうだけど、試してみないと分からないままだと思うので こわがらずに色々試していこうと思う。 でも他人様のコードをいじってコミッ…

LDR の登録画面に Twitter へのリンクを追加するグリモン

LDR に登録するときに一緒に Twitter にも登録できたら便利かなぁと思い作ってみた。 LDR の登録画面を開くとこんな感じで Twitter へのリンクが追加される。 あとはリンク先へ飛んで Follow すれば OK。 今のところはてなダイアリーにしか対応していない。 …

eshell が終わらせられないときは C-c C-k するといい

「C-c C-k」は「eshell-kill-process」に割り当てられていて これを呼べばおそらくどんなときでも eshell を終了させることができる。 eshell で autotest を動かすと「C-c」しても終了できなくて困っていたのだけど もうこれからは大丈夫そうだ。ありがとう…

Firefox 3.0 beta 5 を入れてみた

僕は Firefox2 のアドオンにかなり依存しているので それらのアドオンが機能しない Firefox3 には中々移行できないでいる。 でも今日Nightly Tester Tools :: Firefox Add-onsなる便利なアドオンを教えてもらったので Firefox3 を再び試してみる気になった。…

RSpec を autotest で使う

あんまりまとまってないけど書く。 むしろまとめるために書く。 重要なのはアウトプットすることで 「分かったところまででいいからとにかく書いた方がいいよ」 ってえらい人が言ってた。 できていること 「./hoge.rb」と「./spec/hoge-spec.rb」がある状態…

選択した文字で goo 辞書を引ける GreaseMonkey 3.3

ダウンロードはこちらからどうぞ。 検索結果が文字化けする問題が生じたので直しました。 今回の変更点は一箇所だけで、GM_xmlhttpRequest のオプションに overrideMimeType: "text/plain; charset=EUC-JP" を加えたのみです。 GM_xmlhttpRequest で取得した…

auto-save-buffers がミニバッファに「Wrote path/to/file」と表示するのを黙らせる

SKK でも auto-save-buffersにあるauto-save-buffers.elを使えば OK。 「Wrote path/to/file」って表示されなくても モードラインの「**」が「--」に変わるのでファイルが保存されたかどうかは確認できる。 なので問題なし。 あーこれで大分すっきりしたかも…

re-builder と query-replace-regexp で挙動が違う点

「query-replace-regexp」を実行する前に「re-builder」で確認するというのはとてもいい方法。 だけど両者ではタブに関する振るまいが違うようなので注意が必要。例えば、以下のようなコードがあったとして (_ はタブのつもり) 1 _hogehoge 2 _fugafuga 3 _p…

psvn.el をバージョンアップした

最新版は 2008/04/03 に更新されたバージョン。psvn.el あと psvn.el の本家にチートシートがあるのを見付けた。svn.txt また、「P i」でファイルを ignore できることを知った。 Windows のサムネイル画像をキャッシュしている Thumbs.db とか バージョン管…

Emacs 上につくる AS3 の開発環境 まとめ

AS3 対応の「actionscript-mode」を導入したのでメモを残しておこうと思ったら 以前書いたものだとばかり思っていた「Flex SDK」や「rascut」の記事が見当たらないので ついでにそれらについてもまとめて書いておく。 あとデバッグに便利な「log 関数」につ…

yasnippet を導入してみた

yasnippet がなんだかすごい盛り上がっているようなので使ってみることにした。 導入手順 yasnippet.el はyasnippet - Google Codeから最新の yasnippet-x.y.z.tar.bz2 をダウンロードする anything-cyasnippet.el はhttp://svn.coderepos.org/share/lang/el…

require と load の違い

Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術にのってたのを適当にメモ。 require はファイル名の終わりに .rb を付ける必要がない。load は付ける必要がある。 require はロードしたファイルを記憶し、一度しかロードを行わない。load …

jQuery を久しぶりに使った

自分用のメモ。 jQuery Form Pluginが便利そうなので使ってみた。 使い方はCode Smaplesの説明が分かりやすい。 ローカルだと問題なく動かせて快適だったのだけど land.to だと返ってくる文字列に広告のタグとかが入ってきてすごい邪魔…。 jQuery.ajax だと…

Dired でパーミッションの編集

これで wdired のときにパーミッションも編集できるようになる。 ;; パーミッションの編集を許可する (setq wdired-allow-to-change-permissions t) ange-ftp と合わせて使うと便利! 参考 Diredモードでパーミッションも編集する - 半隠遁日記

navi2ch のインストール方法

Meadow で cygwin を使わずに navi2ch をインストールしてみた。 まずはIndex of /snapshotから navi2ch のアーカイブを取ってくる。 2007-05-10のsnapshotが一番安定している?らしいので僕はこれを落とした。 落としたファイルを解凍して、できたディレク…

配列の頭に * をつけると…?

何が起こるのでしょう。 この超簡単なスクリプトで比較してみる。 a = [0, 1, 2] p a p *a 実行結果はこう。 ん?なんだこれ?何が起きたんだ? [0, 1, 2] 0 1 2

hamashun さんがお勧めしているアドオンをいくつか入れてみた

ブラウジング用Firefoxに入れてるアドオンまとめ (2008年3月現在) | Blog hamashun.comを見て気になったアドオンをインストールしてみた。 https://addons.mozilla.org/ja/firefox/addon/3780 特定のタブの幅を縮めるFirefox用拡張機能 * FaviconizeTab 特定…

each ってこんな使い方もできたんだ…知らなかった

[ [1, 11, 111], [2, 22, 222], [3, 33, 333], ].each{|a, b, c| puts "#{a} #{b} #{c}"} これを実行すると 1 11 111 2 22 222 3 33 333こうなる。 基本ですか? そうかもしれません…(´・ω・`) ちなみに今までの僕だったらこうしていたと思う。 [ [1, 11, 1…

userChrome.js のメモ

自分でもまだよく分かってない部分があるのだけどとりあえずメモしておく。 でも参考ページを直接見た方が早いかもしれない…。 userChorome.js って何? userChrome.js は一言でいうなら「Firefox 自体の見た目を変えるためのスクリプト」。 Greasemonkey が…

ウィンドウ分割関連のコマンドのキーバインドを変更

C-x 0 (1, 2, 3) はよく使うけど、数字キーは押しづらいので他にバインドしたいと思った。 C-x 0 delete-window C-x 1 delete-other-windows C-x 2 split-window-vertically C-x 3 split-window-horizontally これでいってみることにする。 「w」は Window …

M-x align-regexp を知る

「M-x align」や「M-x align-current」は知ってたけど、「regexp」は今日はじめて知った。 「M-x align-regexp」を実行するとミニバッファに Align regexp: というプロンプトが出るので、そこで「=」や「#」を入力すると、それを基準にして align してくれる…

最後のタブへ移動のキーカスタマイズ

Firefox のデフォルトの設定では「Ctrl + 9」で最後のタブに移動する。 別のキーに割り合てたい場合は、keyconfig などで以下のコードを設定する。 var len = gBrowser.mTabContainer.childNodes.length; while (gBrowser.mTabContainer.selectedIndex < len…