2007/05/21(月) 秀丸の単語補完

 秀丸7.0ベータから導入された機能。ATOKの省入力候補と機能がダブるような気がしたが、ATOKは日本語入力の途中で候補が出るのに対して、秀丸の単語補完は英字の場合に出る。と思ったら、日本語の場合も指定もできた。ただし、カーソル位置の単語の補完のようなので、これなら機能がバッティングすることはないだろう。

 秀丸の単語補完はプログラムやHTMLを書く時に便利にできている。編集中のファイルから同じ単語を探し出して候補に出すほか、辞書ファイルの指定もできる。残念のなのは確定するキーがAlt+Enterであること。ATOKはShift+Enterで指がこちらの方に慣れているのだ。秀丸だとキーを変更することも可能なんですがね。

2007/05/18(金) backup_mixiのファイル書き換え

backup_mixiでダウンロードしたファイルで「前の日記」「次の日記」にカーソルを合わせると、JavaScriptエラーが出る。元のページを必要部分だけ切り取っているのだから仕方がないが、気持ちよくはないので書き換えることにした。grepして置換できるエディタを使えば、簡単だ。xyzzyとか秀丸7.0のベータ版とか。それでは面白くないので、なでしこで書いてみた。10行のスクリプトで書ける。

対象フォルダは「D:\backup_mixi_win\mixi_backup\diary\」#backup_mixiでダウンロードしたフォルダのパス
「{対象フォルダ}*.html」のファイル列挙して反復
 対象は「D:\backup_mixi_win\mixi_backup\diary\{それ}」
 内容に対象を読む。
 内容の「onMouseOut」を「」に置換
 「onMouseOver」を「」に置換
 「<a href="neighbor」を「<a href="http://mixi.jp/neighbor」に置換
 もし、それ≠内容ならば
  それを対象に保存
終わる

ついでに「前の日記」「次の日記」も有効にするようにしてある。ま、mixiの方の「前の日記」「次の日記」へジャンプするだけですけどね。この処理、ファイルが多いとそれなりに時間がかかる。僕の場合は300ファイル近くだったので、数十秒。パソコンの処理能力にもよるだろう。2度目からは保存処理がスキップされるので速くなる。

2007/05/15(火) Replaceの正規表現

backup_mixiでダウンロードしたmixiのファイルをNamazuで検索する場合、IEからだと、他のドライブにジャンプすることはできないので、直接mixiへジャンプするようにnamazurcのReplaceを以下のように設定した。

Replace  (/[A-Za-z]\|.*/)(diary)/(.*)(.html)  http://mixi.jp/view_diary.pl?id=\3&owner_id=自分のmixiID
Replace  (/[A-Za-z]\|.*/)(.*)/(.*)(.html)  http://mixi.jp/view_message.pl?id=\3&box=\2

日本語プログラミング言語なでしこで検索ツールを作っているのだが、なでしこの場合、Namazuが出力したHTMLファイルを上と同じように書き換えるには以下のようにする必要があった。

「(/[A-Za-z]\|.*/)(diary)/(.*)(.html)」を「http://mixi.jp/view_diary.pl?id=$3&owner_id=自分のmixiID」に正規表現置換
「(<.*")(http.*=)(.*)(&owner_id=自分のmixiID)(</a>)」を「$1$2$3$4">$2$3$4$5」に正規表現置換
「(/[A-Za-z]\|.*/)(inbox)/(.*)(.html)」を「http://mixi.jp/view_message.pl?id=$3&box=$2」に正規表現置換
「(<.*")(http.*id=)(.*=inbox)(</a>)」を「$1$2$3">$2$3$4」に正規表現置換
「(/[A-Za-z]\|.*/)(savebox)/(.*)(.html)」を「http://mixi.jp/view_message.pl?id=$3&box=$2」に正規表現置換
「(<.*")(http.*id=)(.*=savebox)(</a>)」を「$1$2$3">$2$3$4」に正規表現置換
「(/[A-Za-z]\|.*/)(outbox)/(.*)(.html)」を「http://mixi.jp/view_message.pl?id=$3&box=$2」に正規表現置換
「(<.*")(http.*id=)(.*=outbox)(</a>)」を「$1$2$3">$2$3$4」に正規表現置換
「(/[A-Za-z]\|.*/)(thrash/)/(.*)(.html)」を「http://mixi.jp/view_message.pl?id=$3&box=$2」に正規表現置換
「(<.*")(http.*id=)(.*=thrash)(</a>)」を「$1$2$3">$2$3$4」に正規表現置換

ローカルのパスを置換するのと、HTMLファイルの中を置換する違いがある。なでしこが長くなるのは最初の変換でリンク部分(Aタグ)の変換がうまくできないため。最長マッチになるので、変換すべきでないところまで変換してしまうのだ。うまく書けば、そうならないのかもしれないが、どう考えてもnamazurcで設定した方がすっきりしているので、こちらを採用。

2007/05/08(火) 320GB内蔵ハードディスク

 取り付けた。フォーマットに1時間半ほどかかった。添付のソフトを使えば良かったか。で、壊れる寸前の250GBHDDからファイルを移動。HD Tuneを起動してみたら、温度が74度。もうこれはホントに壊れる寸前だな。急いでガワを開けたら、71度に下がった。何とか助ける方法はないかと、物理フォーマットを実行中。

 HDDAnalyszerというソフトでチェックしてみると、「不明な属性」というのがある。ファイルシステムのエラーならば、フォーマットすることで助かるかもしれない、と淡い期待を持っている。まあ、無理だろうなあ。

2007/05/03(木) コマンドプロンプトを非表示で起動

 バッチファイルをダブルクリックすると、Dos画面が表示される。それを止めたくて、いろいろやってみたが、ダメだった。検索したらVectorにそのスクリプトを公開している人がいた。HiddenCMD.JSというスクリプト。これ、便利だなあ。作者の吉岡照雄さんはこのほかにも多くのスクリプトを公開していて、マイクロソフトのMVPアワードを受賞している。佐賀市在住の人らしい。

 このスクリプトはWSHを使っている。以前、少し勉強したことがあったが、中断したまま。なかなか良い参考書がないのが残念。と思っていたが、amazonを検索したら「WSHクイックリファレンス 第2版」という本が昨年10月に出ていたので注文。